相关疑难解决方法(0)

在Windows上与usb HID设备通信的最佳USB库是什么?

图书馆应该;

- 易于使用,几行客户端代码应该完成很多
- 尽可能与平台无关.(如果将来是其他平台的端口) -
有C++绑定.
- 成熟稳定

我还希望通过回调通知大多数HID事件.

我考虑过以下替代方案:

*libhid - (不幸的是?)这是GPL,不能在我的应用程序中使用.
*WDK - 对我来说似乎有点低级别.我不需要那种控制
*atusbhid - 这有一个适当的抽象级别,但与Windows消息传递循环紧密相关

你们中的任何人都有其他选择吗?

c++ windows usb hid

18
推荐指数
2
解决办法
3万
查看次数

找出哪个进程具有USB设备句柄的独占锁定

我有一个使用CreateFile()API读取/写入USB设备的库.该设备恰好实现了HID设备配置文件,因此它与Microsoft的HID类驱动程序兼容.

系统上安装的其他一些应用程序是以读/写模式打开设备,没有共享模式.这会阻止我的库(以及消耗它的任何东西)使用该设备.我认为这是与HID兼容的设备 - 其他驱动程序软件(鼠标,控制器,PHIDGETS等)可能不合作.

无论如何,设备文件路径的形式如下:

1: "\\?\hid#hpqremhiddevice&col01#5&21ff20e7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}".

2: "\\?\hid#vid_045e&pid_0023#7&34aa9ece&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}".

3: "\?\hid#vid_056a&pid_00b0&col01#6&5b05f29&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}".

我正在尝试使用代码打开它,例如:

//  First, open it with minimum permissions, this device may not be ours.
//  we'll re-open it later in read/write
hid_device_ref = CreateFile(
    device_path, GENERIC_READ,
    0, NULL, OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL, NULL);
Run Code Online (Sandbox Code Playgroud)

我已经考虑过像SysInternals这样的工具,如FileMon或Process Monitor.但我似乎无法报告上面列出的设备文件句柄的使用情况.

c++ usb winapi device hid

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×2

hid ×2

usb ×2

device ×1

winapi ×1

windows ×1