我正在编写一个监控人的鼠标和键盘的应用程序。如果他们有 1 分钟没有使用键盘或鼠标,则会弹出一条消息“您已经有 1 分钟没有使用鼠标或键盘”以及一个确定按钮。
我如何在 Java 中做到这一点?
您需要一些 C/C++ 代码并调用SetWindowsHookEx
此函数允许您挂钩 Windows 事件并接收副本。
此问题包含帮助您入门的代码:Windows 中的 JNA 键盘挂钩
如果您只想为您的应用程序执行此操作,那么它非常简单。您可以简单地添加侦听器,即Toolkit.getDefaultToolkit.addAwtEventListener(..)
.
但是对于整个系统来说,恐怕在java中是做不到的,不过你可以使用JNI。
如果您只想监视 Java 应用程序窗口中的活动,这很简单——您所要做的就是注册到适当的事件。
但是要监视操作系统中的所有鼠标和键盘活动,您必须连接到依赖于平台的 API,并且需要使用 JNI