1.到https://openhardwaremonitor.org/下載openhardwaremonito,這裏下載的是v0.8.0-beta版,也可到https://download.csdn.net/download/jhycjhyc/11583104下載。
2.解壓下載到的包,取出其中的OpenHardwareMonitorLib.dll文件。
3.啓動visual studio 2017,建立一個新的控制器項目,如下圖所示:
4.通過主菜單的“項目”->"添加引用“->”瀏覽“將OpenHardwareMonitorLib.dll文件引用到項目中。
5.在program.cs中增加”using OpenHardwareMonitor.Hardware;“和”using System.Threading;“兩個語句。
6.在program.cs中增加兩個類,代碼如下:
public class UpdateVisitor : IVisitor
{
public void VisitComputer(IComputer computer)
{
computer.Traverse(this);
}
public void VisitHardware(IHardware hardware)
{
hardware.Update();
foreach (IHardware subHardware in hardware.SubHardware)
subHardware.Accept(this);
}
public void VisitSensor(ISensor sensor) { }
public void VisitParameter(IParameter parameter) { }
}
public class GetCPUTemp
{
public static int GetTemp()
{
//注意,必須以管理員身份運行方可。hhd只有已用空間一項,mainboard沒有傳感器。cpu溫度
UpdateVisitor updateVisitor = new UpdateVisitor();
Computer computer = new Computer();
computer.Open();
computer.CPUEnabled = true;
// computer.MainboardEnabled = true;
// computer.HDDEnabled = true;
computer.Accept(updateVisitor);
int temperature = 0;
for (int i = 0; i < computer.Hardware.Length; i++)
{
//查找硬件類型爲CPU
if (computer.Hardware[i].HardwareType == HardwareType.CPU)
{
for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
{
string str = computer.Hardware[i].Sensors.ToString();
int k = 0;
if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature && computer.Hardware[i].Sensors[j].Name == "CPU Package")
{
temperature = Convert.ToInt32( computer.Hardware[i].Sensors[j].Value);
}
}
}
}
return temperature;
}
}
7.在program類的main方法中添加代碼,如下:
static void Main(string[] args)
{
while (true)
{
Console.WriteLine(GetCPUTemp.GetTemp().ToString());
Thread.Sleep(1000);
}
}
8.生成項目,以管理員身份運行生成的可執行文件,即可實時顯示CPU的溫度。