【发布时间】:2021-06-03 09:15:30
【问题描述】:
我们正在我们的一款产品中集成新的条码阅读器 (Newland NLS-FM430),我们需要控制其功能。我们已经用另一个阅读器实现了这个行为,但它是一个 RS232 版本,所以我们能够发送命令并等待它的输入。新版本是 USB 版本,它使事情变得不同。
通常,我们希望在应用程序启动时初始化条形码阅读器(例如,禁用读取设置代码)并将其关闭。然后我们想在需要输入时启用它,并在读取数据后再次禁用它。所有这些操作都有命令,记录在user guide中。
在尝试与 USB 设备通信时出现问题。当连接到计算机时,它充当普通键盘(人机接口设备,设备管理器中的 HID),我们需要向它发送命令。为此,我们需要向设备打开一个流并写入其中。我们尝试了不同的库和解决方案,但打开设备总是失败并出现 ACCESS_DENIED 错误。我怀疑该设备已被锁定,因为 Windows 将其用作键盘。
我发现this topic 讨论了一个类似的问题。他们通过删除设备路径中的后缀 /kbd 找到了解决方法(我们的也有此后缀),但删除它对我们不起作用 - 它说它找不到设备。
我正在研究 C# 或 C/C++ 中的解决方案,它可以打开与 USB 设备的连接并对其进行写入。非常感谢任何帮助。
【问题讨论】:
标签: barcode-scanner hid