我正在开发一个windows应用程序,它提供了字段详细信息--> X。
其中X是-->
右键单击我的电脑>
Properties >
Device Manager > (select any Item - Say KeyBoard) >
Click it > standard PS/2 KeyBoard >
double Click standard PS/2 KeyBoard >
click the Details Tab >该属性下有各种字段,如显示名称、问题代码、父级兄弟等。
我想知道他们的价值观。我可以使用哪个Windows API来实现这一点。我正在为windows7和windows8做这件事,我希望API能保持我的64位机器上的same.Also。对于我想从设备管理器中了解其详细信息的任何设备,这必须是正确的。
ALso我只是想要所有的操作-读取和没有设置(写入),所以我想我不会有任何违反管理员Rights.PLease建议的问题。我已经添加了快照以供参考!例如,我想知道HID USB故障鼠标的当前状态(D0(活动)或D2(睡眠))。


我需要得到这个电源状态D0。
发布于 2013-03-05 13:05:50
使用ManagementObjectCollection可以很容易地获取硬件信息。
例如从PC处理器获取所有属性和值
var win32DeviceClassName = "win32_processor";
var query = string.Format("select * from {0}", win32DeviceClassName);
using (var searcher = new ManagementObjectSearcher(query))
{
ManagementObjectCollection objectCollection = searcher.Get();
foreach (ManagementBaseObject managementBaseObject in objectCollection)
{
foreach (PropertyData propertyData in managementBaseObject.Properties)
{
Console.WriteLine("Property: {0}, Value: {1}", propertyData.Name, propertyData.Value);
}
}
}http://msdn.microsoft.com/en-us/library/aa394084%28v=VS.85%29.aspx上提供了WIN32类名称的完整列表
干杯。
发布于 2014-06-25 23:25:24
该问题使用C#标记,但实际问题要求使用任何Window。通过使用Win32 API,可以使用SetupDiGetDeviceRegistryProperty()检索信息。具体步骤如下:
通过SetupDiGetClassDevs().
根据文档,该API可在Windows 2000及更高版本上使用。
发布于 2013-03-03 12:19:20
(我认为)使用PowerShell做这件事将是最容易的。如果您正在编写一些C#代码,您可以使用System.Management.Automation名称空间中的类型执行PS脚本,例如PowerShell (link:http://msdn.microsoft.com/en-us/library/system.management.automation.powershell(v=vs.85).aspx,但我将使用PS控制台开始您的测试。
您应该首先(使用PowerShell)使用以下命令探索环境中的WMI对象
Get-WmiObject -List -namespace root\CIMV2一旦你确定了你正在寻找的类,你就可以使用下面的命令来检索该类的详细信息:
Get-WmiObject -namespace root\CIMV2 -class Win32_USBControllerDevice一旦有了内容,就必须对文本进行解析。
更新:尝试使用此命令获取PC上鼠标驱动程序的“状态”、“状态”和“已启动”属性:
gwmi Win32_SystemDriver | where {$_.DisplayName -like "*Mouse*"}https://stackoverflow.com/questions/15000196
复制相似问题