请问如何识别HID设备是鼠标、键盘还是其它
请问使用什么样的API可以正确识别出插入系统的HID设备是鼠标还是键盘还是其它的(不想使用hid.lib的。HidP_GetCaps )。
[解决办法]
找个哪个设备的接口GUID(或者SetupDiClassGuidsFromName),然后
HDEVINFO hDevInfo = SetupDiGetClassDevs获取设备集GUID
SetupDiEnumDeviceInfo或者SetupDiEnumDeviceInterfaces得到PSP_DEVINFO_DATA数据。
使用
DWORD dwRequiredSize = 0;
SetupDiGetDeviceRegistryProperty(hDevInfo,...SPDRP_DEVTYPE..NULL, 0, &dwRequiredSize)获取缓冲区大小,
LPBYTE p = new BYTE[dwRequiredSize];
再次调用SetupDiGetDeviceRegistryProperty(....SPDRP_DEVTYPE..p, dwRequiredSize,&dwRequiredSize)
获取它的设备类型,
DWORD dwType = *((DWORD*)p)
if (dwType == FILE_DEVICE_KEYBOARD)
else if (dwType == FILE_DEVICE_MOUSE)
...