wmi c# – WMI给出错误的电压读数
所以我用WPF,C#和WMI编写了一个程序来收集计算机的规格,然后将它放在SourceForge上,因为它对我没用。
我很快发现SoftPedia已经把它拿起来了,并且在截图中注意到电压读数出错了。 这是从他们的页面中划出的图像:
http://sofzh.miximages.com/c%23/8QpBq.png
目前,我通过使用“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位置1,则0-6位包含电压乘以10.如果未设置第8位,则VoltageCaps中的位设置表示电压值。 仅当SMBIOS指定电压值时,才会设置CurrentVoltage。
这意味着如果在使用0x80
屏蔽时读取为0
,则应使用VoltageCaps
的值将电压“置”为VoltageCaps
的3个列出的值之一,除非查询结果为NULL
,在这种情况下电压不明。
- 为什么我的.NET组件上的索引器不能始终从VBScript访问?
- (http)coreclr / dnxCore中的Web请求提供程序?
- 如何在Windowsapp store应用中读取二进制文件?
- 密码的正则表达式
- 从node.js解密.NET中的AES256加密数据 – 如何从密码短语中获取IV和密钥
- 如何在使用get属性公开List的同时使List的Add方法受到保护?
- C#建立从笔记本电脑内部蓝牙4.0到蓝牙低功耗(BLE)外设的流
- 如何在Visual Studio 2017 for Unity中启用intellisense
- 在WinForms中的MenuStrip和DropDownItems中添加和删除ToolStripMenuItem