我想在 Java Swing 中创建一个 Keylogger 。当 focus 位于Swing窗口中时,我可以设法制作一个简单的键盘记录程序,以捕获击键并将其写入日志文件。由于 focus 必须位于窗口上,是否有可能使不可见的JFrame 始终位于顶部? 像这样:
public class Logger extends JFrame implements KeyListener
logger.setVisible(false);
logger.setAlwaysOnTop(true);
这在Java中可行吗?
答案 0 :(得分:2)
所以,您想要一个按键记录器来记录击键,即使焦点不在Java Swing窗口上,对吗? Java本身无法执行此操作,但是Java本机接口(JNI)可以执行此操作。您可以使用Google“ Java System Hook”并从Github下载JAR。 (https://github.com/kristian/system-hook/releases)一言以蔽之,只要程序运行,它就会不断记录您的键盘,而不管您关注哪个窗口。
使用方式:我编写了一个程序,可以在玩游戏时继续运行,并且可以打印出我在游戏中按的任何键。