定時器使用步驟
1, 初始化
在初始化時, 調用SetTimer
函數原型:
WINUSERAPI
UINT_PTR
WINAPI
SetTimer(
_In_opt_ HWND hWnd,
_In_ UINT_PTR nIDEvent,
_In_ UINT uElapse,
_In_opt_ TIMERPROC lpTimerFunc);
例如:
#define ID_MY_TIMER (1)
SetTimer(hwnd, ID_MY_TIMER, 1000, NULL); //1秒後觸發
或者註冊回調函數, 例如:
void CALLBACK MyTimerCallBack(HWND hwnd, UINT message, UINT iTimerID, DWORD dwTime)
{
/* Do Something */
}
SetTimer(hwnd, ID_MY_TIMER, 1000, MyTimerCallBack);
2, 處理超時
如果沒有在SetTimer時指定回調函數, 則需要處理WM_TIMER消息
如果已經設定回調函數, 則超時處理寫在回調函數中
3, 銷燬計時器
在不需要計時器時, 調用KillTime進行銷燬
例如:
KillTimer(hwnd, ID_MY_TIMER);