java - 当 USB 端口扫描某些输入时,Java 中的弹出窗口

标签 java swing port qr-code port-scanning

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

相关文章:

java - 将数据作为 cookie 存储在浏览器中与 session 中

java - android 将edittext中的文本数量限制为13位

java - 在 JTextField 上设置光标的水平位置

docker - 如何使用 docker-compose 在 docker/container 之外公开容器端口?

docker - 在kubernetes上暴露容器的多个端口

Java:根据某个字段获取大量对象List的最高效组合

java - 如何创建我的抽象类的无名派生类的对象?

java - 从现有 Java 项目创建 servlet

Java JPanel 重绘问题

port - scp 指定端口号