C# 取得 CPU 平均 溫度 C# 取得 CPU 平均 溫度
  .NET       ez      2013-07-02

利用 ManagementObjectSearcher 取得所有 CPU 溫度,如果有多顆 CPU 就會有多個數值,以下是把所有數值平均。

            
using System.Management;
Double CPUTPRT = 0, CPUNUM = 0;
ManagementObjectSearcher mos = new ManagementObjectSearcher(@"root\WMI", "Select * From MSAcpi_ThermalZoneTemperature");
foreach (System.Management.ManagementObject mo in mos.Get())
{
    CPUNUM++;
    CPUTPRT += Convert.ToDouble(Convert.ToDouble(mo.GetPropertyValue("CurrentTemperature").ToString()) - 2732) / 10;                
}
CPUTPRT /= CPUNUM;
Console.WriteLine("CPU 溫度 : " + CPUTPRT.ToString() + " °C");
Console.Read();

 
如果您使用以上方法,無法正確 CPU 溫度,每次值都一樣,可以參考下面這篇方法:

C# 取得 CPU 平均 溫度 利用 OpenHardwareMonitor.dll


標籤:   .NET

我要留言