QT获取CPU温度等信息:无需WMI,使用OpenHardwareMonitor库
QT获取CPU温度等信息:无需WMI,使用OpenHardwareMonitor库
在Windows平台下开发QT应用,需要获取CPU温度、使用率、风扇转速和功耗等信息时,可以使用OpenHardwareMonitor库,而无需依赖WMI。
步骤如下:
-
下载OpenHardwareMonitor库源代码: 访问 https://github.com/openhardwaremonitor/openhardwaremonitor 下载源代码
-
添加库文件到QT项目: 将下载的源代码编译生成库文件 (OpenHardwareMonitorLib.h 和 OpenHardwareMonitorLib.lib), 并将其添加到你的QT项目中。
-
配置.pro文件: 在你的QT项目的.pro文件中添加以下配置信息,将'/path/to/'替换为你放置OpenHardwareMonitor库文件的路径:
LIBS += -L/path/to/OpenHardwareMonitorLib.lib INCLUDEPATH += /path/to/OpenHardwareMonitorLib.h -
编写代码: 以下是一个简单的示例代码,演示如何使用OpenHardwareMonitor库获取CPU相关信息:
#include <QCoreApplication> #include <iostream> #include 'OpenHardwareMonitorLib.h' int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); OpenHardwareMonitorLib::HardwareManager manager; manager.Refresh(); for (const auto& hardware : manager.GetHardware()) { if (hardware.HardwareType == OpenHardwareMonitorLib::HardwareType::CPU) { for (const auto& sensor : hardware.Sensors) { if (sensor.SensorType == OpenHardwareMonitorLib::SensorType::Temperature) { std::cout << 'CPU温度: ' << sensor.Value << std::endl; } else if (sensor.SensorType == OpenHardwareMonitorLib::SensorType::Load) { std::cout << 'CPU使用率: ' << sensor.Value << std::endl; } else if (sensor.SensorType == OpenHardwareMonitorLib::SensorType::Fan) { std::cout << 'CPU风扇转速: ' << sensor.Value << std::endl; } else if (sensor.SensorType == OpenHardwareMonitorLib::SensorType::Power) { std::cout << 'CPU功耗: ' << sensor.Value << std::endl; } } } } return a.exec(); }
注意: 以上代码仅为示例,你可能需要根据OpenHardwareMonitor库的具体使用方法进行适当的修改和调整。
原文地址: http://www.cveoy.top/t/topic/fvSw 著作权归作者所有。请勿转载和采集!