【发布时间】:2012-06-05 19:51:57
【问题描述】:
我正在尝试用 Java 制作一种键盘记录器。我有一个应用程序允许人们在他们的桌面上获取他们的 RSS 提要,我想快速访问。 顺便说一句,我需要一些可以做到这一点的东西:
- 我启动我的 java jar 文件,它在系统托盘中最小化。
- 用户做他想做的事(冲浪、看电影等)。
- 他按下了一个组合键 (CTRL + I),然后 Java 窗口打开并显示一个 GUI,他可以在其中查看新闻和修改应用程序配置。
- 现在他可以最小化窗口(系统托盘图标)并继续正常使用他的计算机。
我的应用必须完全跨平台。除此功能外,所有事情都已完成。
我试过用KeyStroke 甚至System.in 来做这件事,但它们只有在用户将窗口激活时才会捕捉到组合键。
那么,有没有一种方法可以在不使用 JNI 或 JNA 的情况下从应用程序外部捕获组合键(如透明覆盖)(这就是我的搜索结果)。
感谢您的帮助。
【问题讨论】:
-
您确定您的最终用户会对捕获所有密钥的应用程序感到满意吗?我认为这是一种安全风险。
-
这只会捕获组合的两个键。没有什么比这更多的应用真正做到这一点了。
标签: java keyboard key keylogger