【发布时间】:2011-11-01 09:46:36
【问题描述】:
如何实现某种后台进程,不断(或在短时间内)检查用户是否正在与系统交互,也就是说,简单明了地使用计算机?显而易见的方法是检查用户生成的任何类型的事件,例如按键、鼠标移动和鼠标点击等。在某个应用程序中捕获事件很简单,因为这些事件通常是通过应用程序的事件循环自动提供的,但是如何在整个系统范围内实现这一点,即不管哪个应用程序在前面/有焦点?这是如何优雅地完成的,所以这样的过程不会消耗太多的系统资源?
总的来说,我对此感兴趣,但显然每个平台都有不同的方式 - 跨平台方式 (Java) 是理想的,但我选择的平台是 Mac OS X (Cocoa)。
【问题讨论】:
-
显然,我正在寻找的是“系统空闲时间”,它存储在系统级别,可以通过适当的 API/技术读取......
-
detecting keyboard, mouse activity in linux 上的这个问题的 X11(例如 Linux)版本有一个真正的答案,而这个问题没有。
标签: java cocoa events background watch