在Windows 7/8中读取设备管理器的属性字段

Rau*_*ulp 6 windows device-manager windows-7 c#-4.0

我正在开发一个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 >
Run Code Online (Sandbox Code Playgroud)

在该属性下有各种字段,如显示名称,问题代码,父兄弟姐妹等等?

我想得到他们的价值观.我可以使用哪种Windows API.我正在为Windows 7以及Windows 8做这个.我希望API保持不变.我也有64位机器.对于我想从设备管理器了解其详细信息的任何设备,情况必须如此.

另外我只想进行所有操作 - 阅读和未设置(写作)所以我认为我不会有任何违反管理员权利的问题.请建议.!我添加了快照以供参考!例如,我想知道HID USB投诉鼠标的当前状态(D0(活动)或D2(睡眠)).

显示HID兼容鼠标的Powerdata字段的图像

显示HID投诉鼠标的电源状态的图像是D0  - 活动的

我需要获得此电源状态D0.

Gle*_*rie 1

(我认为)使用 PowerShell 来完成此操作将是最简单的。如果您正在编写一些 C# 代码,则可以使用 System.Management.Automation 命名空间中的类型(例如 PowerShell)执行 PS 脚本(链接: http: //msdn.microsoft.com/en-us/library/system.management)。 Automation.powershell(v=vs.85).aspx),但我将使用 PS 控制台开始测试。

您应该首先(使用 PowerShell)使用此命令探索环境中的 WMI 对象

Get-WmiObject -List -namespace root\CIMV2
Run Code Online (Sandbox Code Playgroud)

然后,一旦您确定了要查找的类,您就可以使用以下命令检索该类的详细信息:

Get-WmiObject -namespace root\CIMV2 -class Win32_USBControllerDevice
Run Code Online (Sandbox Code Playgroud)

一旦获得该内容,您就必须解析文本。

更新:尝试使用此命令获取 PC 上鼠标驱动程序的“状态”、“状态”和“已启动”属性:

gwmi Win32_SystemDriver | where {$_.DisplayName -like "*Mouse*"}
Run Code Online (Sandbox Code Playgroud)