Обнаружение активности пользователя на Mac OS X

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

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

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

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

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

Спасибо нобик

1 ответ

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

Другие вопросы по тегам