• 转载:c# 获取CPU温度(非WMI,直接读取硬件)


    c#获取cpu温度

    很早一个项目做远控,所以需要用到获取cpu温度,但是就是不知从何下手,无意中发现了Open Hardware Monitor,令我的项目成功完成

    亲测20台清装xp sp2的机器,无问题,Windows 7和Windows 8 也测试过,无问题。。当然,此库可不止能获取cpu温度!!

    Open Hardware Monitor可以支持大部分常见的主板芯片与硬件组件,监控包含主板、CPU、硬盘、显示卡、装置的电压、温度、风扇转速与运作频率、

    即时负载等信息。

    下载地址:http://pan.baidu.com/share/link?shareid=146663&uk=3324999280

    使用方法:将库添加至项目中

    声明:

    PersistentSettings settings =new PersistentSettings();

    UpdateVisitor updateVisitor = new UpdateVisitor();

    初始化config配置文件,详情见Bin目录Debug/ReplaseOpenHardwareMonitor.config文件

    settings.Load(Path.ChangeExtension(
    Application.ExecutablePath, ".config"));

    初始化Computer对象

    Computer computer= new Computer(settings);

    调用open方法

    conputer.open();

    获取cpu温度:

                     StringBuilder str = new StringBuilder();

                   computer.Accept(updateVisitor);
                    for (int i = 0; i < computer.Hardware.Length; i++)
                    {

                        //循环找到HardwareType为cpu
                        if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                        {
                            for (int j = 0; j < computer.Hardware[i].Sensors.Length;j++ )
                            {

                                //找到温度
                                if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                                {

                                 //获取到cpu核心
                                  str.Append(computer.Hardware[i].Sensors[j].Name);
                                  str.Append(" ");

                                  //这里就是cpu温度了
                                  str.Append(computer.Hardware[i].Sensors[j].Value.ToString());
                                  str.Append(" ");
                                }
                            }
                        }
                    }

    Console.WriteLine(str.ToString());

    这样子就获取到每个cpu核心的温度了。。

    转载出处:http://blog.csdn.net/tryios/article/details/8348893

  • 相关阅读:
    进程间通讯----消息队列和共享内存方式的实现
    初探 Yii2 的测试模式 index-test.php
    nginx缓存功能的设置
    php五大运行模式CGI,FAST-CGI,CLI,ISAPI,APACHE模式
    workerman如何写mysql连接池
    Varnish 一般是放在 Nginx 前面还是后面的?
    关于PATH_INFO
    Java8 Lambda表达式
    synchronized的一些记录
    类和实例
  • 原文地址:https://www.cnblogs.com/zhaoyihao/p/4533259.html
Copyright © 2020-2023  润新知