java - 使用全局 Hook 从条形码扫描仪读取数据

标签 java events action barcode-scanner scanning

我有一个 USB 条形码扫描仪,并使用以下库用 java 创建了一个阅读器: https://github.com/kwhat/jnativehook

我的阅读器使用全局 Hook ,并根据输入的速度检测数据何时来自条形码扫描仪。这其实是非常准确的。 该阅读器在后台工作。当我读取任何条形码时,都会用它做一些事情并在数据库上注册一些值(与问题无关)。

碰巧使用钩子(Hook),当我扫描某些东西时,它们的按键事件被聚焦的程序(chrome、word 等)捕获,并且条形码上的数字显示在上面。如果您在另一个人正在使用扫描仪时尝试编写文档或其他内容,这真的很烦人。

是否有使用这个或另一个java库来防止键盘事件传播? 我想捕获所有键盘事件,使用它们,如果我的应用程序检测到它们不是来自条形码扫描仪,那么它将重新创建该事件并将其发送到其他程序来捕获。

谢谢。

最佳答案

如果您使用的是 Windows 或 OS X,则可以使用 JNativeHook 使用事件。Linux 不支持该功能,因此它不是官方支持的功能。请参阅:https://github.com/kwhat/jnativehook/wiki/ConsumingEvents

关于java - 使用全局 Hook 从条形码扫描仪读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44012148/

相关文章:

iphone - 如何捕捉按下 TableViewCell 的事件?

java - 通过反射修改原始数据类型

javascript - TinyMCE:事件初始化后如何绑定(bind)

android - 在所有事件中放置提醒 android 日历

Magento 管理网格将数据从 Action 发送到 Controller

java - Playframework路线问题

java - Struts2 链接到同一类的同一方法的问题

java - 需要帮助修复错误。线程 "main"java.util.InputMismatchException 中出现异常

java - 将 .lnk 文件拖到 Windows 10 任务栏

java - 如何比较两个不同数组中的字符串组件 (Java)