使用Java获取全局键盘输入
我怎样才能得到我的java程序之外的任何程序中输入的内容..有什么办法吗? 例如,我正在运行我的java程序,然后我开始在记事本中输入,我可以用我的java程序看到正在输入的内容。
How can I get what is being inputed in any program outside my java program.. Is there a way ?
For example, I'm running my java program then I start typing in notepad, and I can see with my java program what is being typed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您应该寻找的术语是键盘挂钩,这里是使用 WinApi http://www.codeproject.com/KB/DLL/keyboardhook.aspx
The term you should looking for is Keyboard hooks, here is example using WinApi http://www.codeproject.com/KB/DLL/keyboardhook.aspx
您无法在纯 Java 中执行此操作。在某些时候,它将涉及与外部应用程序或本机库的通信,并且在任何一种情况下都将是特定于平台的。
You cannot do this in pure Java. At some point, it will involve talking to an external application or a native library, and will be platform specific in either case.
有一个库可以处理本机键盘和鼠标控制:
http://code.google.com/p/jnativehook/
There is a library to handle native keyboard and mouse control:
http://code.google.com/p/jnativehook/