如何获得CPU温度?

我需要为正在开发的应用程序收集一些系统信息。使用C#可以轻松获得可用内存和CPU负载。不幸的是,CPU温度并不是那么容易。我尝试使用WMI,但无法使用任何东西


Win32_TemperatureProbe

要么


MSAcpi_ThermalZoneTemperature

有没有人处理过这个问题?我想知道像SiSoftware Sandra这样的监视程序如何获得该信息...


以防万一有人感兴趣,下面是该类的代码:


public class SystemInformation

{

    private System.Diagnostics.PerformanceCounter m_memoryCounter;

    private System.Diagnostics.PerformanceCounter m_CPUCounter;


    public SystemInformation()

    {

        m_memoryCounter = new System.Diagnostics.PerformanceCounter();

        m_memoryCounter.CategoryName = "Memory";

        m_memoryCounter.CounterName = "Available MBytes";


        m_CPUCounter = new System.Diagnostics.PerformanceCounter();

        m_CPUCounter.CategoryName = "Processor";

        m_CPUCounter.CounterName = "% Processor Time";

        m_CPUCounter.InstanceName = "_Total"; 

    }


    public float GetAvailableMemory()

    {

        return m_memoryCounter.NextValue();

    }


    public float GetCPULoad()

    {

        return m_CPUCounter.NextValue();

    }


    public float GetCPUTemperature()

    {

        //...

        return 0;

    }

}


长风秋雁
浏览 562回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP