我有一个 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/