检测mac os x上的用户活动

时间:2010-05-27 16:17:29

标签: c macos iokit user-activity

我使用函数“IOPMSchedulePowerEvent”来安排Sleep或Wake-Events,并使用“IORegisterForSystemPower”注册我的守护进程以接收电源状态更改。一切正常!

当系统进入睡眠状态并且稍后在预定时间醒来时,我的守护进程会做一些工作,之后系统应该再次进入睡眠状态。

现在我的问题:

  1. 如果系统被用户或预定时间唤醒,我如何检测?

  2. 如果用户当前正在使用该系统,我如何检测,以便该守护进程不能将其置于睡眠模式???

  3. 由于 Nobik

1 个答案:

答案 0 :(得分:4)

有一种简单的方法可以检测各种形式的用户交互:使用CGEventSourceCounterForEventType可以查询自启动时间以来键盘按下或鼠标移动的次数。通过定期执行此操作并比较计数,您可以检测到交互。