我正在尝试获取本地计算机上我的处理器的状态数据。我在网上找到了几个教程,但它们都没有涵盖我得到的错误。
这是我的代码:
UpdateVisitor visitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.CPUEnabled = true;
computer.Accept(visitor);
它在调用computer.Open()时抛出异常,下面是异常消息:
我做错了什么?如果我能提供更多细节,请让我知道。我引用的是.NET标准2.0项目中的库。
发布于 2019-08-30 20:03:10
通过在.NET框架4.7.1项目中引用该库,而不是在.NET标准2.0项目中引用该库,解决了该问题。我发布这个答案只是为了警告其他试图实现这个目标的人,这个库与.NET标准代码并不完全兼容。
发布于 2019-08-29 20:44:33
我从这个问题中窃取了这个问题的答案: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");
}
}
}
https://stackoverflow.com/questions/57710164
复制相似问题