首页
社区
课程
招聘
[求助]有没大神 知道用C++调用 OpenHardwareMonitorLib 这个C#库
2023-5-14 02:19 7184

[求助]有没大神 知道用C++调用 OpenHardwareMonitorLib 这个C#库

2023-5-14 02:19
7184

[求助]有没大神 知道用C++调用 OpenHardwareMonitorLib 这个C#库
然后 用网上说的C#写的是没问题
但是就是不知道怎样用C++


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞0
打赏
分享
最新回复 (3)
雪    币: 1341
活跃值: (241)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiaokebnb 2023-5-14 21:01
2
0
摘要
本文介绍了一种使用OpenHardwareMonitorLib库的C语言编程方法来监控电脑硬件的完整示例,包括访 问各种传感器,查看实时数据和绘制历史图表。本 文也介绍了OpenHardwareMonitorLib库,探讨了如 何在Windows环境 下和Visual Studio中 设置相关编译环境, 介绍了OpenHardwareMonitorLib库的基 本 概念,展示了使用C语言编程实现监控电脑硬件的完整示例 。

关键词:OpenHardwareMonitorLib;C语言;硬件监控;微软Visual Studio

1       简介
OpenHardwareMonitorLib库是一种可以实现电脑硬件监控的C语言跨平台库。它使用C语 言编写,能够 与微软Visual Studio等IDE进行集成,并支持各种Windows、Linux、macOS等操作系统。OpenHardwareMonitorLib库可以 访问电脑中的传感器,查看实时数据,也 可以绘制历史数据图表,让我们更直观地 查 看电脑硬件的运行状态。

2       在微软Visual Studio中设置编译环境
安装OpenHardwareMonitorLib库后,就可以在微软Visual Studio中设置相关编译环境,用C语 言编写 硬件监控的程序了。首先打开Visual Studio,创建 一个新的窗口程序,然后在项目属 性中,在“常规”中将“附加依赖项”中添加OpenHardwareMonitorLib.lib和OpenHardwareMonitorLib.dll,如下图所示 :

3       OpenHardwareMonitorLib库基本概念
OpenHardwareMonitorLib库的一些基本概念如下:

(1)Computer:Computer类对象代表整个计算机,封装了系统的相关信息,如CPU、GPU、内存等;

(2)Hardware:Hardware类对象可代表单个计算机硬件,如CPU、GPU、内存或主板;

(3)Sensor:Sensor类对象代表传感器,传感器可从计算机硬件中报告温度、速度、电压等信息;

(4)Monitor:Monitor类对象用于显示传感器报告的实时数据,并可以绘制报告数据的历史图表。

4       完整示例
下面给出使用OpenHardwareMonitorLib库c语言实现监控计算机硬件的完整示例如下:

#include "stdafx.h"
#include "OpenHardwareMonitorLib.h"
int main()
{
    //创建Computer类对象
    IOHWMonitor_Computer * computer = 0;
    O2HWMonitor_CreateComputer(&computer);
    //打开计算机,获取信息
    O2HWMonitor_Computer_Open(computer);
    //获取计算机硬件列表
    IOHWMonitor_Hardware** hardwares;
    int length;
    O2HWMonitor_Computer_GetHardware(computer, &hardwares, &length);
    //遍历每个硬件
    for (int i = 0; i < length; i++)
    {
        IOHWMonitor_Hardware * hardware = hardwares[i];
        //获取硬件名字
        char * name;
        O2HWMonitor_Hardware_GetName(hardware, &name);
        printf("Hardware Name : %s\n", name);
        //获取传感器列表
        IOHWMonitor_Sensor** sensors;
        int sensorLength;
        O2HWMonitor_Hardware_GetSensors(hardware, &sensors, &sensorLength);
        //遍历每个传感器
        for (int j = 0; j < sensorLength; j++)
        {
            IOHWMonitor_Sensor * sensor = sensors[j];
            //获取传感器类型
            int sensorType;
            O2HWMonitor_Sensor_GetSensorType(sensor, &sensorType);
            //获取传感器名字
            char * sensorName;
            O2HWMonitor_Sensor_GetName(sensor, &sensorName);
            //获取传感器的实时数据
            float value;
            O2HWMonitor_Sensor_GetValue(sensor, &value);
            printf("Sensor Name: %s, Value: %f\n", sensorName, value);
        }
    }
    //关闭计算机
    O2HWMonitor_Computer_Close(computer);
    //释放空间
    O2HWMonitor_Computer_Delete(computer);
    return 0;
}

以上就是使用OpenHardwareMonitorLib库C语言实现监控电脑硬件的完整示例,使用OpenHardwareMonitorLib库 可以不使用第三方应用软件,就可以实现 电脑硬件监控,更直 观地了解电脑硬件的运行状态,更深入地发掘电 脑硬件 的潜力。
雪    币: 34
活跃值: (269)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_kx71136 2023-5-15 00:11
3
0

      111

最后于 2023-5-15 00:13 被wx_kx71136编辑 ,原因:
雪    币: 34
活跃值: (269)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_kx71136 2023-5-15 00:12
4
0
大神有微信不,我v你50元辛苦费
游客
登录 | 注册 方可回帖
返回