
.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