.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
