我希望在各种网站的浏览器窗口中记录击键和鼠标位置,但我不确定如何在 SWING(或其他一些 GUI)窗口之外执行此操作。
当另一个应用程序的窗口处于活动状态时,如何记录击键?
Java 不会公开您需要的支持。如果您可以访问 X 中的 RECORD 扩展或 Windows 上的 Win32,那么执行此操作是一件相当简单的事情。
这是一个实现对这两个平台的支持的 Python 项目:pykeylogger。
我认为你不能从纯 Java 中做到这一点。如果可能的话,它将需要(高度)特定于平台的本机代码库的帮助。
(仅限 Windows)理论上您可以使用 JNA 或 JNI 绑定到GetAsyncKeyState并且您可以监控按键。