发布于2026-07-18 阅读(0)
扫一扫,手机访问
直接告诉你答案:不能。 Windows 系统本身并不暴露 CPU 温度和风扇转速这些传感器数据,C# 也没有内置的 API 可以直接调用。想要读取这些硬件信息,必须依赖第三方硬件监控库。而在所有开源、免安装、支持 .NET Standard 的选项中,OpenHardwareMonitorLib(注意不是 OpenHardwareLib)是当下唯一稳定、可靠的选择。
首先要澄清一个常见的混淆:市面上所谓的“OpenHardwareLib”其实并不存在,这个说法多半是旧博客写错了。真正能用的库是 OpenHardwareMonitorLib.dll,来自 Open Hardware Monitor 项目。它的工作原理很简单直接——通过访问 SMBus/ISA 总线、ACPI 表和 MSR 寄存器来获取传感器数值,从而绕开厂商驱动的限制。
关键事实如下:
Win32_TemperatureProbe 在绝大多数现代主板上返回的都是空值或无效值net461 是最低兼容版本在 NuGet 里搜“OpenHardwareLib”是找不到的,从非官方源下载 DLL 也不靠谱。正确的做法是:
openhardwaremonitor-v0.9.6.zip)/OpenHardwareMonitor/ 目录提取 OpenHardwareMonitorLib.dll(注意不是同名 EXE)Truecomputer.Open(),否则所有传感器都是 null一个最小初始化示例:
using OpenHardwareMonitor.Hardware;
var computer = new Computer
{
CPUEnabled = true,
GPUEnabled = false,
FanControllerEnabled = true,
MainboardEnabled = true
};
computer.Open(); // ⚠️ 这行漏掉就全为 0
传感器的结构是树状嵌套的:主硬件(CPU)→ 子传感器(温度、负载、风扇)。而且不同主板的传感器命名、数量、索引位置完全不一致。如果直接硬写 hardware.Sensors[2].Value,程序大概率会崩溃。
正确的做法是:遍历 + 类型 + 名称双重过滤。
SensorType.Temperature,名称通常含 "CPU" 或 "Core"(不一定都叫 "CPU Package")SensorType.Fan,名称通常含 "Fan"、"PWM" 或具体接口名如 "CPU_FAN"sensor.Value.HasValue,未就绪时返回 nullcomputer.Hardware[i].Update() 刷新一次,否则值可能滞后下面是一个取首个有效 CPU 温度和风扇的示例片段:
foreach (var hardware in computer.Hardware)
{
hardware.Update();
foreach (var sensor in hardware.Sensors)
{
if (sensor.SensorType == SensorType.Temperature &&
(sensor.Name.Contains("CPU") || sensor.Name.Contains("Core")))
{
if (sensor.Value.HasValue)
Console.WriteLine($"CPU temp: {sensor.Value.Value:F1}°C");
}
else if (sensor.SensorType == SensorType.Fan &&
sensor.Name.Contains("Fan"))
{
if (sensor.Value.HasValue)
Console.WriteLine($"Fan RPM: {sensor.Value.Value:F0}");
}
}
}
程序没报错,但输出全是 0 / NaN / null?大概率是下面这几种情况之一:
Access is denied 异常没捕获 → 确保以管理员身份运行(右键 exe → “以管理员身份运行”)computer.Hardware 是否为空数组HW Monitor、Q-Fan Control 或 Advanced → CPU Configuration → DTS/PECI 等选项computer.Open() 和 Update() 不是线程安全的,要避免多个 Task 同时调用有一点最容易被忽略:即使所有配置都正确,首次读取前必须等待 1–2 秒。传感器枚举和初始化不是即时完成的,立刻遍历往往拿到空值。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8