我有一个用 Java 编写的应用程序在机器 (Linux/Windows) 上运行。我想让这个应用程序像后台应用程序一样运行,这样它就不会在使用系统中的其他应用程序时中断。现在我想在使用连接到 USB 端口的扫描仪扫描 QR 码时弹出一个屏幕并显示一些按钮(根据选择执行一些任务)。当扫描发生时,启动弹出屏幕的我的 Java 应用程序正在系统托盘中运行。
--编辑--
我使用 key 监听器来识别条形码扫描,并根据扫描的内容从数据库中提取信息。但是在扫描我的应用程序时,它是打开的。因此,我在 AWT 级别附加了 Action 监听器,以便捕获并处理击键/扫描。但现在在当前情况下,我不会激活任何窗口。因此,当应用程序在系统托盘中最小化时,我需要在内部捕获扫描的输入。
最佳答案
我认为对您开放的唯一途径是捕获系统范围的键盘事件。有一个库可以为 Java 处理这个问题:jnativehook .但我不确定您将如何检测哪些事件专门来自您的 HID 设备。
还有 JavaHIDAPI ,一个业余级项目,其“你好,世界”测试示例在我的机器上因 IOException 而失败。好的部分是,所有代码都在那里,包括适用于 Windows 的 native C。
最后,我找到了this ,关于如何在 Windows 上与 HID 对话的非常好的教程。
关于java - 当 USB 端口扫描某些输入时,Java 中的弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10116270/