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