给出不正确的电压读数
本文关键字:电压 不正确 | 更新日期: 2023-09-27 18:18:08
所以我用WPF, c#和WMI做了一个程序,作为一个小项目来收集计算机的规格,并把它放在SourceForge上,因为它对我来说没什么用。
我很快发现SoftPedia发现了它,并在截图中注意到电压读数有一个错误。这是从他们的页面上截取的图片:
此时我使用"CurrentVoltage"输入电压,例如
foreach (var item in new ManagementObjectSearcher("Select * from Win32_Processor").Get())
{
labelName.Content = (decimal.Parse(item["CurrentVoltage"].ToString()) / 10).ToString() + " v";
}
如图所示,它在图片中的读数为0v。我想知道我是否需要将"CurrentVoltage"切换到"VoltageCaps",或者我是否需要直接读取SMBIOS。
如果是后者,请说明如何操作,谢谢。
基于Win32_Processor类的文档:
处理器电压。如果设置了第8位,0 ~ 6位是电压乘以10。如果第8位没有设置,则VoltageCaps中的位设置代表电压值。
当SMBIOS指定电压值时,才会设置CurrentVoltage。
这意味着如果它被0x80
屏蔽时读取为0
,那么您应该使用VoltageCaps
的值来"状态"电压作为VoltageCaps
列出的3个值之一,除非查询的结果是NULL
,在这种情况下电压是未知的。