c# - C# 如何获取/读取 CPU 电压 (Windows)
问题描述
我试图获得 CPU 电压但没有任何成功。我尝试了 OpenMonitorHardware,但似乎没有电压传感器
public float GetCpuVoltage() {
Computer computer = new Computer(){ CPUEnabled = true };
computer.Open();
foreach(IHardware hardware in computer.Hardware) {
hardware.Update();
if(hardware.HardwareType == HardwareType.CPU) {
foreach(ISensor sensor in hardware.Sensors) {
if(sensor.SensorType == SensorType.Voltage) {
return (float)sensor.Value;
}
}
}
}
computer.Close();
}
If 语句永远不会为真,因为它只找到温度、功率和时钟速度传感器。
再次尝试使用 Win32_Processor 和 Win32_Mainboard 并且几乎每个可能包含它的 Win32_XXX 都没有成功。那里要么没有价值,要么文档错误/旧,您可以传入的值是错误的并发出错误。我得到的最接近的是这里的代码
foreach(ManagementBaseObject core in new ManagementObjectSearcher("Select * from Win32_Processor").Get()) {
var voltage = core["CurrentVoltage"];
}
我得到的值是“10”,这甚至没有意义。我首先认为它可能会被四舍五入,所以 1,357 可能会被四舍五入到 1,但无论我尝试什么,它都不是一个实心的 10。
经过数小时的尝试和谷歌搜索后,我不知道该尝试什么了,我什至尝试从 Open Hardware Monitor 下载源代码,因为在他们的程序中它可以工作,但它太复杂了,我无法完全指出起源以及他们如何获得价值.
如果有人需要,我拥有 I5-8600k 和华硕 Z390 TUF GAMING-Plus,超级 IO 控制器是 Nuvoton NCT6798D,它应该包含我需要的信息。
请原谅任何打字错误并感谢您提前提供帮助
解决方案
推荐阅读
- php - 使用 foreach 和 mysqli_fetch_all 时的正确语法是什么
- android - 什么是 Tools:itemCount 等效于 ExpandableListView?
- c - Rand() 在 C 中不是唯一的
- kubernetes - Grunt watch 在 Kubernetes 中使用 Sails.js 引发 sync:dev not found 错误
- python - 在 python pandas 数据框中分箱(不手动设置箱)
- python-3.x - 将 stdout 重定向到文件并在使用 python 子进程遇到 stderr 时终止
- c++ - 稀疏矩阵乘积的特征求解器
- git - 检查文件更改了多少次
- python - python中的USB条码扫描器:文本字段焦点
- android - Android 向摄像头提要添加实时叠加层