QT实现windows下获取CPU、内存及磁盘信息

一.目的

QT代码实现windows下获取CPU、内存及磁盘信息。

二.代码实现

1.获取CPU和内存信息

   #include <Windows.h>

    // 获取CPU信息

    SYSTEM_INFO systemInfo;

    GetSystemInfo(&systemInfo);

    qDebug() << "CPU Architecture:" << (systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ? "AMD64" : "x86");

    qDebug() << "Number of Processors:" << systemInfo.dwNumberOfProcessors;

    // 获取内存信息

    MEMORYSTATUSEX statex;

    statex.dwLength = sizeof (statex);

    GlobalMemoryStatusEx (&statex);

    qDebug() << "Total Physical Memory:" << statex.ullTotalPhys / (1024.0 * 1024.0) << "MB";

qDebug() << "Available Physical Memory:" << statex.ullAvailPhys / (1024.0 * 1024.0) << "MB";

2.获取磁盘信息

#include <QStorageInfo>

//获取当前系统盘的磁盘情况

    QStorageInfo storageInfo = QStorageInfo::root();

    storageInfo.refresh();  // 刷新信息,获取最新的磁盘信息

    qDebug() << "总大小:" << storageInfo.bytesTotal() / (1024 * 1024 * 1024) << "GB";

    qDebug() << "可用空间:" << storageInfo.bytesAvailable() / (1024 * 1024 * 1024) << "GB";

    

   

    // 获取指定路径的磁盘情况

    QString path = "D:/"; // 替换为你想查询的磁盘或目录路径

    QList<QStorageInfo> storageInfos = QStorageInfo::mountedVolumes();

    for (const QStorageInfo &storageInfo : storageInfos) {

        if (storageInfo.rootPath() == path) {

            qDebug() << "Total Disk Space:" << storageInfo.bytesTotal() / (1024.0 * 1024.0) << "MB";

            qDebug() << "Available Disk Space:" << storageInfo.bytesAvailable() / (1024.0 * 1024.0) << "MB";

            qDebug() << "Device Name:" << storageInfo.name();

            qDebug() << "File System Type:" << storageInfo.fileSystemType();

            break; // 找到匹配的存储设备后退出循环

        }

    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基本电路理论-电流和电压的参考方向

&#x1f308;个人主页&#xff1a;会编程的果子君 &#x1f4ab;个人格言:“成为自己未来的主人~” 电流及参考方向 电流&#xff1a;带电粒子有规则的定向移动 电流强度&#xff1a;单位时间内通过导体横截面的电荷量&#xff0c;即&#xff1a;idq/dt 单位&#xff1a…

Vue3_2024_7天【回顾上篇watch常见的后两种场景】完

随笔&#xff1a;这年头工作不好找咯&#xff0c;大家有学历提升的赶快了&#xff0c;还有外出人多注意身体&#xff0c;没错我在深圳这边阳了&#xff0c;真的绝啊&#xff0c;最尴尬的还给朋友传染了&#xff01;&#xff01;&#xff01; 之前三种的监听情况&#xff0c;监听…

C# 委托与事件 终章

C# 委托与事件 浅尝 C# 委托与事件 深入 委托 委托有什么用&#xff1f; 将函数作为函数的参数传递声明事件并用来注册 强类型委托 Action<T1> Func<T1, TResult>事件 希望一个类的某些成员在发生变化时能被外界观测到 CollctionChangedTextChanged 标准.Ne…

【Qt 学习笔记】Qt 背景介绍

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt 背景介绍 文章编号&#xff1a;Qt 学习笔记 / 01 文章目录 Qt 背景…

CSS面试题---基础

1、css选择器及优先级 选择器优先级&#xff1a;内联样式>id选择器>类选择器、属性选择器、伪类选择器>标签选择器、微元素选择器 注意&#xff1a; !important优先级最高&#xff1b; 如果优先级相同&#xff0c;则最后出现的样式生效&#xff1b; 继承得到的样式优先…

Vue3 组合式函数Composables

简介 “组合式函数”(Composables) 是一个利用 Vue 的组合式 API 来封装和复用有状态逻辑的函数。 我们可以把一些可以复用的逻辑封装成组合式函数放到js文件中&#xff0c;在vue文件中通过import来使用这些逻辑&#xff0c;使vue文件更瘦&#xff0c;逻辑更清晰。 一个小栗子…

.[nicetomeetyou@onionmail.org].faust勒索病毒数据怎么处理|数据解密恢复

引言&#xff1a; 在数字化日益普及的今天&#xff0c;网络安全问题已成为人们不可忽视的挑战。其中&#xff0c;勒索病毒作为一种极具破坏性的恶意软件&#xff0c;已多次在全球范围内制造了重大危机。其中&#xff0c;名为.[nicetomeetyouonionmail.org].faust、[support202…

Sora可能会改变我们的思维方式

当经济学家评估生成式人工智能对人类工作的影响时&#xff0c;教育家也有自己的担忧&#xff0c;毕竟在写作、答疑等领域&#xff0c;AI所展现的能力已经令许多人类望尘莫及&#xff0c;学者们可能有这样的思考&#xff1a;散文是否会继续主导人类的交流和论证。 社交媒体和新闻…

基于Scala开发Spark ML的ALS推荐模型实战

推荐系统&#xff0c;广泛应用到电商&#xff0c;营销行业。本文通过Scala&#xff0c;开发Spark ML的ALS算法训练推荐模型&#xff0c;用于电影评分预测推荐。 算法简介 ALS算法是Spark ML中实现协同过滤的矩阵分解方法。 ALS&#xff0c;即交替最小二乘法&#xff08;Alte…

2024年最新github之Go语言开源项目top50排行榜项目

如果有帮助到您还请动动手帮忙点赞&#xff0c;关注&#xff0c;评论转发&#xff0c;感谢啦&#xff01;&#x1f495;&#x1f495;&#x1f495;&#x1f618;&#x1f618;&#x1f618; 本文由Butterfly一键发布工具发布 2024年最新github之Go语言开源项目top50排行榜项目…

4.2 JavaWeb Day05分层解耦

三层架构功能 controller层接收请求&#xff0c;响应数据&#xff0c;层内调用了service层的方法&#xff0c;service层仅负责业务逻辑处理&#xff0c;其中要获取数据&#xff0c;就要去调用dao层&#xff0c;由dao层进行数据访问操作去查询数据&#xff08;进行增删改查&…

Java面试题:解释Java泛型的主要用途,并说明泛型擦除的概念。

Java泛型&#xff08;Generics&#xff09;的主要用途是提供一种编写可重用且类型安全的代码的方法。它们允许在编程时使用类型参数&#xff0c;这些类型参数可以在运行时被具体的类或接口替换。泛型的主要优点包括&#xff1a; 类型安全&#xff1a;泛型编译时会进行类型检查…

如何通过docker安装seata

在现代分布式系统中&#xff0c;保证数据一致性和事务的原子性是非常重要的。Seata 是一种开源的分布式事务解决方案&#xff0c;为分布式系统中的事务管理提供了可靠的支持。通过 Docker&#xff0c;我们可以轻松地部署和管理 Seata&#xff0c;从而简化了部署流程。本篇博客将…

new mars3d.layer.HeatLayer({实现动态修改热力图半径

1.使用热力图插件的时候&#xff0c;实现动态修改热力图效果半径 2.直接修改是不可以的&#xff0c;因为这个是热力图本身的参数。 因此我们需要拿到这个热力图对象之后&#xff0c;参考api文档&#xff0c;对整个 heatLayer.heatStyle进行传参修改。 heatStyle地址&#x…

HarmonyOS 应用开发之featureAbility接口切换particleAbility接口切换

featureAbility接口切换 FA模型接口Stage模型接口对应d.ts文件Stage模型对应接口getWant(callback: AsyncCallback<Want>): void; getWant(): Promise<Want>;ohos.app.ability.UIAbility.d.tslaunchWant: Want;startAbility(parameter: StartAbilityParameter, c…

redis学习-缓存穿透、缓存击穿、缓存雪崩

1.缓存穿透 大量查询数据库中没有的数据。 当用户在redis缓存中查询不到想要的信息时&#xff0c;会进入数据库中查询&#xff0c;此时如果同一时间有大量用户从redis中查询不到信息&#xff0c;就都会去数据库中查询&#xff0c;此时数据库就可能会因为压力过大而停止服务&…

【MySQL系列】使用 ALTER TABLE 语句修改表结构的方法

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

智慧驿站式的“智慧公厕”,给城市新基建带来新变化

随着智慧城市建设的推进&#xff0c;智慧驿站作为一种多功能城市部件&#xff0c;正逐渐在城市中崭露头角。这些智慧驿站集合了智慧公厕的管理功能&#xff0c;为城市的新基建带来了全新的变革。本文以智慧驿站智慧公厕源头实力厂家广州中期科技有限公司&#xff0c;大量精品案…

Swagger使用配置笔记

Swagger使用配置笔记 简介 Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(https://swagger.io/)。 它的主要作用是&#xff1a; 使得前后端分离开发更加方便&#xff0c;有利于团队协作接口的文档在线自动生成&#xff0…

FreeRTOS--3

1.总结任务调度算法之间的区别&#xff0c;重新实现一遍任务调度算法的代码。 一&#xff0c;抢占式调度&#xff1a;高优先级的任务可以打断低优先级任务的执行。 抢占式调度适用于任务优先级不同的任务。使用默认的任务去创建一个优先级比他高的任务&#xff0c;观察抢占式调…