2010-05-27 28 views
1

我使用函數「IOPMSchedulePowerEvent」來安排睡眠或喚醒事件,並使用「IORegisterForSystemPower」註冊我的守護程序以接收電源狀態更改。一切正常!當系統進入休眠狀態,並在預定的時間後來喚醒時,我的守護進程會做一些工作,並且在系統重新啓動之後。在mac os上檢測用戶活動x

現在我的問題:

  1. 我如何檢測,如果系統是由用戶或在預定的時間醒?

  2. 我該如何檢測,如果一個用戶目前正在使用該系統,所以守護進程沒有把它放在睡眠模式?

感謝 Nobik

回答

3

有一個簡單的方法來檢測各種形式的用戶交互:採用CGEventSourceCounterForEventType可以查詢鍵盤按壓或鼠標移動的數量,因爲開機時間。通過定期執行此操作並比較計數,您可以檢測交互。

+0

這是一個好主意,謝謝,但我正在尋找一個更簡單的方法來做到這一點。 Windows爲我提供「IsSystemResumeAutomatic-Function」,以獲取信息。是否有一個可比的Mac功能? – Nobik 2010-05-28 08:59:39