DevCon ListClass命令
2022-01-28
152
0
DevCon ListClass用于列出指定设备设置类中的所有设备。 在本地和远程计算机上有效。
命令格式
devcon [/m:\\computer] listclass class [class...]
参数
如果要在指定的远程机器上运行,使用/m参数,并且目标计算机的路径使用反斜杠”\”来标识。
注意 若要在远程计算机上运行 DevCon 命令,组策略设置必须允许即插即用服务在远程计算机上运行。 在运行 Windows Vista 和 Windows 7 的计算机上,默认情况下组策略禁止对服务的远程访问。 在运行 WDK 8.1 和 WDK 8 的计算机上,远程访问不可用。
设备类名可以通地Devcon Classes列出查看设备类名。
使用示例
devcon listclass printers ports
devcon /m:\\Server01 listclass SmartCardReader
本机测试
devcon listclass Keyboard
列出本机的HID键盘设备:
Listing 16 devices in setup class "Keyboard" (Keyboards).
HID\VID_1A2C&PID_2124&MI_00\8&6373BC8&0&0000 : HID Keyboard Device
HID\VID_1C4F&PID_0002&MI_00\9&2AAABD20&0&0000 : HID Keyboard Device
HID\VID_1A2C&PID_2124&MI_00\8&180EB945&0&0000 : HID Keyboard Device
HID\VID_413C&PID_2107\6&2FDD26A8&0&0000 : HID Keyboard Device
HID\VID_1C4F&PID_0026&MI_00\7&389FAFB3&0&0000 : HID Keyboard Device
HID\VID_17EF&PID_6018&MI_00\8&163C9A&0&0000 : HID Keyboard Device
HID\VID_1A2C&PID_0002&MI_00\7&BF58CEE&0&0000 : HID Keyboard Device
HID\VID_1A2C&PID_2C27&MI_00\8&311907BA&0&0000 : HID Keyboard Device
HID\VID_1C4F&PID_0002&MI_00\7&33838597&0&0000 : HID Keyboard Device
HID\VID_17EF&PID_6018&MI_00\7&2DA408E5&0&0000 : HID Keyboard Device
HID\VID_413C&PID_2107\6&1D237603&0&0000 : HID Keyboard Device
HID\VID_1C4F&PID_0002&MI_00\8&2F0F5630&0&0000 : HID Keyboard Device
HID\VID_1A2C&PID_2124&MI_00\7&830F991&0&0000 : HID Keyboard Device
HID\VID_413C&PID_2107\7&531BC78&0&0000 : HID Keyboard Device
HID\VID_1A2C&PID_2C27&MI_00\7&2EB41018&0&0000 : HID Keyboard Device
HID\VID_1C4F&PID_0002&MI_00\7&20335D7F&0&0000 : HID Keyboard Device
注意,这里显示的是设备的实例路径名和设备的友名或者描述符信息。
这里大家可能会奇惯为什么我这里显示出这么多设备,这是因为我改过这个工具的代码,列出了系统中所有的键盘设备(包括当前不在线的)
devcon源码中使用了SetupDiGetDeviceInfoListDetail首先获取设备的实例ID,然后再通过CM_Get_Device_ID_Ex获取实例名路径。
而设备的描述信息是通过GetDeviceStringProperty获取设备的SPDRP_FRIENDLYNAME或SPDRP_DEVICEDESC来实现的,更详细的可以参考SetupAPI相关的代码示例。