如何使用 OpenHardwareMonitor.dll?
How to use OpenHardwareMonitor .dll?
我正在尝试获取本地计算机上处理器的状态数据。我在网上找到了几个教程,但没有一个涵盖我遇到的错误。
这是我的代码:
UpdateVisitor visitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.CPUEnabled = true;
computer.Accept(visitor);
它在调用 computer.Open() 时抛出异常,这是异常消息:
我做错了什么?如果我能提供更多细节,请告诉我。
我在 .NET Standard 2.0 项目中引用库。
我从这个问题中窃取了这个 WMI 答案:C# CPU and GPU Temp。
只需安装 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 Standard 2.0 项目中引用库来解决问题。我 post 这个答案只是为了警告其他试图实现这一目标的人,这个库与 .NET 标准代码不完全兼容。
我正在尝试获取本地计算机上处理器的状态数据。我在网上找到了几个教程,但没有一个涵盖我遇到的错误。
这是我的代码:
UpdateVisitor visitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.CPUEnabled = true;
computer.Accept(visitor);
它在调用 computer.Open() 时抛出异常,这是异常消息:
我做错了什么?如果我能提供更多细节,请告诉我。 我在 .NET Standard 2.0 项目中引用库。
我从这个问题中窃取了这个 WMI 答案:C# CPU and GPU Temp。 只需安装 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 Standard 2.0 项目中引用库来解决问题。我 post 这个答案只是为了警告其他试图实现这一目标的人,这个库与 .NET 标准代码不完全兼容。