Обнаружение активности пользователя на Mac OS X
Я использую функцию "IOPMSchedulePowerEvent", чтобы запланировать Sleep или Wake-Events, и зарегистрировал моего демона в "IORegisterForSystemPower", чтобы получать изменения состояния питания. Все отлично работает!
Когда система переходит в спящий режим, а затем просыпается в назначенное время, мой демон выполняет некоторую работу, и после этого система должна снова переходить в спящий режим.
Теперь мои вопросы:
Как я могу определить, была ли система активирована пользователем или в назначенное время?
Как я могу определить, работает ли пользователь с системой в данный момент, поэтому демон не должен переводить его в спящий режим???
Спасибо нобик
1 ответ
Существует простой способ обнаружить различные формы взаимодействия с пользователем: использование CGEventSourceCounterForEventType
Вы можете запросить количество нажатий клавиш или ходов мыши со времени загрузки. Делая это через регулярные промежутки времени и сравнивая количество, вы можете обнаружить взаимодействие.