Обнаружение активности пользователя на Mac OS X - PullRequest
1 голос
/ 27 мая 2010

Я использую функцию "IOPMSchedulePowerEvent", чтобы запланировать Sleep или Wake-Events, и зарегистрировал моего демона в "IORegisterForSystemPower", чтобы получать изменения состояния питания. Все отлично работает!

Когда система переходит в спящий режим, а затем просыпается в назначенное время, мой демон выполняет некоторую работу, и после этого система должна снова переходить в спящий режим.

Теперь мои вопросы:

  1. Как я могу определить, проснулся ли пользователь от системы или в назначенное время?

  2. Как я могу определить, если пользователь в данный момент работает с системой, поэтому демону не нужно переводить его в спящий режим ???

Спасибо Nobik

1 Ответ

4 голосов
/ 27 мая 2010

Существует простой способ обнаружить различные формы взаимодействия с пользователем: используя CGEventSourceCounterForEventType, вы можете запросить количество нажатий клавиш или движений мыши со времени загрузки. Делая это через регулярные промежутки времени и сравнивая количество, вы можете обнаружить взаимодействие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...