【发布时间】:2012-03-30 00:11:25
【问题描述】:
我有一个带 USB 接口的条形码扫描仪,所以它显示为 HID。
我必须在第一个字符上设置断点是有原因的。
这将我的 Delphi IDE 带到了前面,它在断点处停止,其余的条形码被注入到我的代码中,就好像它是在键盘前面输入的一样(在某种程度上,它就像USB 扫描仪只是另一个 HID)。
有什么办法可以避免这种情况吗?或者添加对输入源的初始检查?
这让我非常恼火,以至于我现在正在寻找具有 RS232 接口的扫描仪。
【问题讨论】:
-
也许您可以创建一些测试条码,一次只有一个字符?
-
+1 不是一个完美的解决方案,但它可能会让生活更轻松。谢谢。
-
你不能截取 Windows 消息(wm_char 吗?),将它们放入某种数组中,然后将 msg 设置为已处理,然后通过代码将它们提供给你的输入?
-
许多现代的 USB 扫描仪都有 CDC/串行模式,这对于调试目的肯定更好。就我个人而言,我只会重构我的代码(我相信你可以做到!)而不是痴迷于你的断点在哪里。使用两层,一层捕获所有数据,并等待输入键,当最后一个键进入时,开始处理。
-
你可以前往这个有趣的话题“USB Barcode Reader and KeyPress Options”。
标签: delphi hid human-interface