获取电脑cpu温度(非wmi)

上传者: arno1988 | 上传时间: 2019-12-21 19:25:31 | 文件大小: 226KB | 文件类型: rar
cpu
在IT领域,了解硬件的状态是维护系统稳定运行的重要一环,特别是CPU的温度,它直接影响着计算机的性能和寿命。本文将深入探讨如何利用非WMI(Windows Management Instrumentation)方法,通过OpenHardwareMonitorLib.dll这个开源库来获取电脑CPU的实时温度。 WMI是一种在Windows操作系统上广泛使用的管理工具,它提供了对系统硬件和软件资源的管理接口。然而,有时由于安全策略或者权限问题,我们可能无法通过WMI获取CPU温度,这时就需要寻找替代方案。OpenHardwareMonitor是一个开源项目,它的目标是监测计算机硬件的状态,包括CPU、GPU、硬盘等的温度、负载和风扇速度等信息。该项目提供了一个名为OpenHardwareMonitorLib.dll的库,我们可以利用这个库来编程获取这些数据。 要使用OpenHardwareMonitorLib.dll,首先需要在你的项目中引用这个动态链接库。如果你使用的是C#或VB.NET,可以将它添加为一个引用,然后导入相应的命名空间: ```csharp using OpenHardwareMonitor.Hardware; ``` 接下来,我们需要创建一个`Computer`对象,初始化并打开监控: ```csharp Computer computer = new Computer(); computer.Open(); ``` 然后遍历所有硬件设备,查找CPU并获取其温度: ```csharp foreach (IHardware hardware in computer.Hardware) { if (hardware.HardwareType == HardwareType.CPU) { ICPU cpu = hardware as ICPU; if (cpu != null && cpu.HasTemperature) { foreach (ITemperature temperature in cpu.Temperatures) { double cpuTemperature = temperature.Value; Console.WriteLine($"CPU 温度:{cpuTemperature} °C"); } } } } ``` 这段代码会输出每个CPU核心的温度,如果有多个核心的话。记得在获取数据后关闭计算机对象: ```csharp computer.Close(); ``` 至于压缩包中的CPUTemperature文件,这可能是示例代码、日志文件或结果数据。如果是一个代码文件,你可以将其与上述代码结合,实现一个实时显示CPU温度的程序。如果是日志或结果数据,可以用来分析CPU在不同负载下的温度变化。 通过OpenHardwareMonitorLib.dll,我们可以绕过WMI限制,直接获取电脑CPU的温度信息,这对于系统监控、故障排查和性能优化都十分有用。同时,这种方法也可以扩展到其他硬件监测,如GPU、硬盘等,为系统维护提供更全面的视角。

文件下载

资源详情

[{"title":"( 29 个子文件 226KB ) 获取电脑cpu温度(非wmi)","children":[{"title":"CPUTemperature","children":[{"title":"CPUTemperature.suo <span style='color:#111;'> 26.00KB </span>","children":null,"spread":false},{"title":"CPUTemperature","children":[{"title":"MainForm.Designer.cs <span style='color:#111;'> 3.65KB </span>","children":null,"spread":false},{"title":"MainForm.cs <span style='color:#111;'> 547B </span>","children":null,"spread":false},{"title":"CPUTemperature.csproj.user <span style='color:#111;'> 227B </span>","children":null,"spread":false},{"title":"Program.cs <span style='color:#111;'> 498B </span>","children":null,"spread":false},{"title":"OpenHardwareMonitorLib.dll <span style='color:#111;'> 268.50KB </span>","children":null,"spread":false},{"title":"CHardwareMonitor.cs <span style='color:#111;'> 1.65KB </span>","children":null,"spread":false},{"title":"Properties","children":[{"title":"Settings.settings <span style='color:#111;'> 249B </span>","children":null,"spread":false},{"title":"Resources.Designer.cs <span style='color:#111;'> 2.81KB </span>","children":null,"spread":false},{"title":"AssemblyInfo.cs <span style='color:#111;'> 1.34KB </span>","children":null,"spread":false},{"title":"Settings.Designer.cs <span style='color:#111;'> 1.07KB </span>","children":null,"spread":false},{"title":"Resources.resx <span style='color:#111;'> 5.48KB </span>","children":null,"spread":false}],"spread":true},{"title":"MainForm.resx <span style='color:#111;'> 5.87KB </span>","children":null,"spread":false},{"title":"obj","children":[{"title":"x86","children":[{"title":"Debug","children":[{"title":"CPUTemperature.Properties.Resources.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false},{"title":"GenerateResource.read.1.tlog <span style='color:#111;'> 282B </span>","children":null,"spread":false},{"title":"ResolveAssemblyReference.cache <span style='color:#111;'> 10.88KB </span>","children":null,"spread":false},{"title":"TempPE","children":null,"spread":false},{"title":"CPUTemperature.pdb <span style='color:#111;'> 27.50KB </span>","children":null,"spread":false},{"title":"DesignTimeResolveAssemblyReferencesInput.cache <span style='color:#111;'> 6.17KB </span>","children":null,"spread":false},{"title":"DesignTimeResolveAssemblyReferences.cache <span style='color:#111;'> 2.10KB </span>","children":null,"spread":false},{"title":"GenerateResource.write.1.tlog <span style='color:#111;'> 1.04KB </span>","children":null,"spread":false},{"title":"CPUTemperature.csproj.FileListAbsolute.txt <span style='color:#111;'> 891B </span>","children":null,"spread":false},{"title":"CPUTemperature.exe <span style='color:#111;'> 10.00KB </span>","children":null,"spread":false},{"title":"CPUTemperature.MainForm.resources <span style='color:#111;'> 180B </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true},{"title":"bin","children":[{"title":"Debug","children":[{"title":"OpenHardwareMonitorLib.dll <span style='color:#111;'> 268.50KB </span>","children":null,"spread":false},{"title":"CPUTemperature.vshost.exe <span style='color:#111;'> 11.33KB </span>","children":null,"spread":false},{"title":"CPUTemperature.pdb <span style='color:#111;'> 27.50KB </span>","children":null,"spread":false},{"title":"CPUTemperature.exe <span style='color:#111;'> 10.00KB </span>","children":null,"spread":false}],"spread":true},{"title":"Release","children":null,"spread":false}],"spread":true},{"title":"CPUTemperature.csproj <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false}],"spread":false},{"title":"CPUTemperature.sln <span style='color:#111;'> 884B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • FeelGos :
    学习了谢谢!
    2020-07-19
  • 20090216 :
    不能读取温度为0,我电脑7年前的配置都读不出来
    2018-08-15
  • 华芝塔尼欧 :
    很好,可以正常使用
    2018-08-11
  • IMT8585 :
    很好,可以正常使用
    2018-03-18
  • kellerman616 :
    下载之后还是不能获取到cpu温度。。需要拥有管理员权限才能获得温度。开启管理员权限教程:http://bit.ly/openhardwaremonitorgetcputemp
    2018-02-08

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明