该库应当:
- 易于使用,少量的客户端代码就应该实现很多功能
- 尽可能与平台无关。(以便未来移植到其他平台)
- 有C++绑定。
- 成熟稳定
我还希望通过回调函数通知大多数HID事件。
我已考虑了以下替代方案:
- libhid - (不幸的是?) 这是GPL,不能在我的应用程序中使用。
- WDK - 对于我的用途来说似乎有点低级。我不需要那种控制。
- atusbhid - 这具有适当的抽象级别,但它牢固地绑定到Windows消息循环中
还有其他替代方案可以提供吗?
该库应当:
我还希望通过回调函数通知大多数HID事件。
我已考虑了以下替代方案:
还有其他替代方案可以提供吗?
看一下hidapi:它是用C编写的,这回答了关于C++绑定的问题(有效地 :)),具有跨平台性并具有非常宽松的许可证。
它似乎没有回调函数,但是...
看一下这段代码:
使用C#读取并使用FM收音机(或任何其他USB HID设备)
它提供了一些简单的类来与HID设备进行通信。它归结为获取设备的别名(类似于\?\HID#Vid_nnnn&Pid_nnn#...),然后使用CreateFile打开它。您可以在HKML \ SYSTEM \ CCS \ Control \ DeviceClasses \ {4d1e55 ...}
下获取设备的别名。
Vid和Pid是设备的供应商ID和产品ID(请参阅设备管理器)。
有几个适用于Windows的USB HID主机驱动程序。一个易于使用的动态链接库来自http://embedded24.net。
此外,还包括了一些示例应用程序,适用于Visual Studio 2010(C++、C#和Visual Basic)。