用C#获取CPU温度
时间: 2024-10-08 12:14:18 浏览: 49
c# 获取CPU温度(非WMI,直接读取硬件)
5星 · 资源好评率100%
在C#中,获取CPU温度通常需要借助第三方库或者操作系统提供的API,因为.NET Framework本身并不直接提供访问硬件传感器的功能。你可以使用`ManagementClass`和`ManagementObjectSearcher`来自Windows Management Instrumentation (WMI)来查询系统信息,包括CPU温度。
以下是一个简单的示例:
```csharp
using System;
using System.Management;
public class CPUTemperatureReader
{
public static void Main()
{
try
{
// 定义WMI路径
string query = "Select * From Win32_Processor";
// 创建管理对象搜索器
using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
{
foreach (ManagementObject obj in searcher.Get())
{
// 获取当前处理器的名称和即时温度
string name = obj.Properties["Name"].Value.ToString();
double temperatureCelsius = Convert.ToDouble(obj.Properties["CurrentTemperature"].Value);
Console.WriteLine($"Processor {name} is running at {temperatureCelsius}°C.");
}
}
}
catch (Exception ex)
{
Console.WriteLine("Failed to retrieve CPU temperature: " + ex.Message);
}
}
}
```
注意这只是一个基础示例,实际应用中你可能需要处理异常,并且不同操作系统可能有不同的命名约定。此外,这种方法依赖于操作系统支持WMI,如果你的应用运行在非Windows环境下,获取CPU温度的方式会有所不同。
阅读全文