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的温度。