如何编写一个密钥侦听器来跟踪Java中的所有击键?[已关闭]

2022-09-02 03:22:52

我想用Java编写一个密钥监听器。它应该跟踪所有按键,而不管 Java 应用程序是否有焦点。这可能吗?


答案 1

这是可能的,但需要一个利用JNI的实现,这并不总是可移植的。

Java System Hook就是这样一个可以与Windows 32和64位一起使用的库。


答案 2

不久前我用过类似的东西。看看Java System Hook

它通过 JNI 跟踪全局按键(不仅仅是您的 Java 应用程序)。它为我快速而完美地工作


KeyListener 作为守护程序线程启动,它不会使应用程序保持活动状态。您必须在程序中具有另一个正在运行的非守护程序线程

例如:

GlobalKeyListener globalKeyListener = new GlobalKeyListener();
globalKeyListener.addKeyListener(listener);
while (true) {
    Thread.sleep(1000);
}

推荐