我在网上查找了关于USBHID的代码,
问题我现在使用
GUID hidGuid;
::HidD_GetHidGuid((LPGUID)&hidGuid); // 取HID设备GUID
获取出来的VID PID只有 鼠标跟键盘的 其他的都没有 其中 04CA 007D为鼠标 093a2510为键盘 (这时我还插了一个U盘跟无线接收器)
pDetail->DevicePath = 0x0122089c "\\?\hid#vid_04ca&pid_007d&mi_00#7&2d946604&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
pDetail->DevicePath = 0x0122089c "\\?\hid#vid_04ca&pid_007d&mi_01&col01#7&1a6449c6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
pDetail->DevicePath = 0x0122089c "\\?\hid#vid_04ca&pid_007d&mi_01&col02#7&1a6449c6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}"
pDetail->DevicePath = 0x0122089c "\\?\hid#vid_093a&pid_2510#6&26d1ac3e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"
后后来我估计网上的介绍将HUID改成固定的DEFINE_GUID(GUID_DEVINTERFACE_USB_DEVICE, 0xA5DCBF10L, 0x6530, 0x11D2, 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED);
下面是我改成
GUID_DEVINTERFACE_USB_DEVICE 之后检索出来的路径
pDetail->DevicePath = 0x006a4d74 "\\?\usb#vid_04ca&pid_007d#5&4e3c163&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed}" (鼠标)
pDetail->DevicePath = 0x006a4d74 "\\?\usb#vid_093a&pid_2510#5&4e3c163&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed}"(键盘)
pDetail->DevicePath = 0x006a4d74 "\\?\usb#vid_0951&pid_1666#60a44c425324b1b049960033#{a5dcbf10-6530-11d2-901f-00c04fb951ed}" (U盘)
pDetail->DevicePath = 0x006a4d74 "\\?\usb#vid_0bda&pid_0153#20120926571200000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}" (USB2.0-CRW)
pDetail->DevicePath = 0x006a4d74 "\\?\usb#vid_148f&pid_7601#1.0#{a5dcbf10-6530-11d2-901f-00c04fb951ed}"
(802.11 n WLAN)
其他的设备都搜索出来了 但是出现一个新的问题就是 所有的设备
HidD_GetAttributes这个方法都返回失败
if (!HidD_GetAttributes(