QT获取CPU温度等信息:无需WMI,使用OpenHardwareMonitor库

在Windows平台下开发QT应用,需要获取CPU温度、使用率、风扇转速和功耗等信息时,可以使用OpenHardwareMonitor库,而无需依赖WMI。

步骤如下:

  1. 下载OpenHardwareMonitor库源代码: 访问 https://github.com/openhardwaremonitor/openhardwaremonitor 下载源代码

  2. 添加库文件到QT项目: 将下载的源代码编译生成库文件 (OpenHardwareMonitorLib.h 和 OpenHardwareMonitorLib.lib), 并将其添加到你的QT项目中。

  3. 配置.pro文件: 在你的QT项目的.pro文件中添加以下配置信息,将'/path/to/'替换为你放置OpenHardwareMonitor库文件的路径:

    LIBS += -L/path/to/OpenHardwareMonitorLib.lib
    INCLUDEPATH += /path/to/OpenHardwareMonitorLib.h
    
  4. 编写代码: 以下是一个简单的示例代码,演示如何使用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库的具体使用方法进行适当的修改和调整。

QT获取CPU温度等信息:无需WMI,使用OpenHardwareMonitor库

原文地址: http://www.cveoy.top/t/topic/fvSw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录