剛剛看《編程之美》1.10節,其中提了一個問題:windows是通過什麼api瞭解用戶是否在使用鼠標或鍵盤的?
有兩個函數可以實現這個功能,它們都包含在頭文件windows.h中。
函數功能:該函數確定在當前線程的消息隊列中是否有要處理的鼠標,鍵盤消息.如果檢測到輸入的話,則返回值爲非零值,否則返回值爲零
2.BOOL WINAPI GetLastInputInfo( __out PLASTINPUTINFO lpi);
函數功能:獲取上次輸入操作的時間
返回值:如果調用函數成功,返回值爲非零。如果調用函數失敗,返回值爲零。
說明:先定義LASTINPUTINFO lpi;然後調用函數GetLastInputInfo(&lpi);獲得lpi。調用函數GetLastInputInfo()以後,
結構成員lpi.dwTime 中的值並非上次輸入事件發生以後的毫秒數。而是上次輸入事件發生時的系統運行時間。相當於上次輸入事件發生時執行了lpi.dwTime=::GetTickCount()。爲獲得上次輸入事件發生以後的毫秒數需要執行語句::GetTickCount()-lpi.dwTime。