J’utilise la fonction “IOPMSchedulePowerEvent” pour planifier des événements de veille ou de réveil et inscrit mon démon auprès de “IORegisterForSystemPower” pour recevoir les modifications de l’état de l’alimentation. Tout fonctionne bien!
Lorsque le système se met en veille et se réveille plus tard, à l’heure programmée, mon démon effectue un travail et le système doit ensuite se remettre en veille.
Maintenant mes questions:
Comment puis-je détecter si le système a été réveillé par l’utilisateur ou à l’heure programmée?
Comment puis-je détecter, si un utilisateur travaillant actuellement avec le système, le démon n’a pas à le mettre en mode veille ???
Merci Nobik
Il existe un moyen simple de détecter diverses formes d’interaction utilisateur: à l’aide de CGEventSourceCounterForEventType
vous pouvez interroger le nombre d’ CGEventSourceCounterForEventType
au clavier ou de mouvements de la souris depuis le démarrage. En procédant ainsi à intervalles réguliers et en comparant les comptes, vous pouvez détecter une interaction.