【问题标题】:How to use OpenHardwareMonitor .dll?如何使用 OpenHardwareMonitor .dll?
【发布时间】:2019-08-29 12:25:09
【问题描述】:

我正在尝试在本地机器上获取我的处理器的状态数据。我在网上找到了几个教程,但没有一个涵盖我遇到的错误。

这是我的代码:

        UpdateVisitor visitor = new UpdateVisitor();

        Computer computer = new Computer();
        computer.Open();
        computer.CPUEnabled = true;

        computer.Accept(visitor);

调用 computer.Open() 时抛出异常,这是异常消息:

我做错了什么?如果我可以提供更多细节,请告诉我。 我在 .NET Standard 2.0 项目中引用该库。

【问题讨论】:

    标签: c# .net monitoring openhardwaremonitor


    【解决方案1】:

    通过在 .NET Framework 4.7.1 项目中而不是在 .NET Standard 2.0 项目中引用库来解决问题。我发布这个答案只是为了警告其他试图实现这一点的人,这个库与 .NET Standard 代码不完全兼容。

    【讨论】:

      【解决方案2】:

      我从这个问题中窃取了这个 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");
             }
         }
      }
      

      【讨论】:

      • 我的问题是关于使用特定的库。抱歉,您的回答只是建议使用另一个。
      猜你喜欢
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 2010-11-23
      • 1970-01-01
      相关资源
      最近更新 更多