C# 如何使用OpenHardwareMonitor.dll?
我正在尝试获取本地计算机上处理器的状态数据。我在网上找到了几本教程,但没有一本涵盖了我遇到的错误 这是我的代码:C# 如何使用OpenHardwareMonitor.dll?,c#,.net,monitoring,openhardwaremonitor,C#,.net,Monitoring,Openhardwaremonitor,我正在尝试获取本地计算机上处理器的状态数据。我在网上找到了几本教程,但没有一本涵盖了我遇到的错误 这是我的代码: UpdateVisitor visitor = new UpdateVisitor(); Computer computer = new Computer(); computer.Open(); computer.CPUEnabled = true; computer.Accept(visitor);
UpdateVisitor visitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.CPUEnabled = true;
computer.Accept(visitor);
它在调用computer.Open()时引发异常,以下是异常消息:
我做错了什么?如果我能提供更多的细节,请让我知道。
我正在引用.NET标准2.0项目中的库。我从以下问题中窃取了WMI答案:。 只需安装System.Management并在管理模式下启动VS,您就可以访问传感器
using System;
using System.Diagnostics;
using System.Management;
class Program
{
static void Main(string[] args)
{
Double CPUtprt = 0;
System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(@"root\WMI", "Select * From MSAcpi_ThermalZoneTemperature");
foreach (System.Management.ManagementObject mo in mos.Get())
{
CPUtprt = Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10;
Console.WriteLine("CPU temp : " + CPUtprt.ToString() + " °C");
}
}
}
通过引用.NET Framework 4.7.1项目中的库,而不是.NET标准2.0项目中的库,解决了此问题。我发布此答案只是为了警告其他试图实现此目的的人,此库与.NET标准代码不完全兼容。我的问题是关于使用特定库的。对不起,您的回答只是建议使用另一个。