天天看點

SetTimer時間間隔的問題

1、用WM_TIMER來設定定時器

SetTimer函數的原型

UINT_PTR SetTimer(

HWND hWnd,                      //

窗體句柄

UINT_PTR nIDEvent,          // 定時器ID,多個定時器時,能夠通過該ID推斷是哪個定時器

UINT nElapse,                     // 時間間隔,機關為毫秒

TIMERPROC lpTimerFunc  //

回調函數

);

傳回值:

類型:UINT_PTR

假設函數成功,hWnd參數為0,則傳回建立立的時鐘編号,能夠把這個時鐘編号傳遞給KillTimer來銷毀時鐘.

假設函數成功,hWnd參數為非0,則傳回一個非零的整數,能夠把這個非零的整數傳遞給KillTimer來銷毀時鐘.

假設函數失敗,傳回值是零.若想獲得很多其它的錯誤資訊,調用GetLastError函數.

2、UINT nElapse, // 時間間隔,機關為毫秒

一直迷惑這個定時器是先運作一次。還是等待一個時間間隔再運作。上網查了一下有不少網友有相同的疑問。

經過查資料和實際操作。發現定時器是先等待一個時間間隔再運作第一次。