Ada*_*ile 5 c++ windows keyboard hid point-of-sale
我有一些条码扫描仪设备可以处理各种USB接口(COMM仿真,HID键盘,HID POS等)问题是,虽然我可以判断设备是否处于HID模式,但我需要能够确定它是HID键盘还是HID POS.
有没有办法使用Win32 C++来确定这个,最好是内置的Windows HID库(hidsdi.h)?
小智 3
您可以使用HidD_GetHidGuid获取设备的唯一 GUID。设备接口指南由每个设备/应用程序软件供应商、Microsoft 或第三方根据他们认为合适的方式定义。在某些情况下,指南是已发布的公共知识并且是标准接口,在某些情况下则不是。
您还可以使用Microsoft 的USBView 实用程序,它可以让您浏览 USB 树,或者您可以查看注册表,看看是否可以找到您设备的 GUID。query如果配置数据不存在或者除了通用设备之外它没有显示自身(如果您的设备支持此功能),您可能仍然需要您的设备来确定设备类型。
GUID 有两种类型:设备类和设备接口。一个设备只能是一个类的一部分。不幸的是,设备类和设备接口 GUID 有时是相同的,从而使开发人员感到困惑。在 WinXP DDK 中,创建了标准来尝试使 GUID 的定义不那么混乱。
另请参阅之前的 SO 问题:Use RegisterDeviceNotification() for ALL USB devices。