溫馨提示×

c++的SetTimer函數怎么使用

c++
小億
420
2023-09-15 18:40:35
欄目: 編程語言

C++中的SetTimer函數在Windows API中定義,用于創建一個定時器。它使用以下語法:

UINT_PTR SetTimer(

HWND hWnd, // 窗口句柄

UINT_PTR nIDEvent, // 定時器ID

UINT uElapse, // 定時器間隔,以毫秒為單位

TIMERPROC lpTimerFunc // 定時器回調函數,可選參數

);

參數說明:

  • hWnd: 窗口句柄,指定接收定時器消息的窗口。

  • nIDEvent: 定時器ID,用于標識一個定時器??梢酝ㄟ^此ID來取消定時器。

  • uElapse: 定時器間隔,以毫秒為單位。指定定時器在多久后觸發一次。

  • lpTimerFunc: 定時器回調函數,可選參數。當定時器觸發時,系統會調用此函數。

以下是一個使用SetTimer函數的示例:

#include

#include <windows.h>

// 定時器回調函數

VOID CALLBACK TimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)

{

std::cout << “Timer Event” << std::endl;

}

int main()

{

// 創建定時器,每1000毫秒(1秒)觸發一次定時器事件

UINT_PTR timerId = SetTimer(NULL, 0, 1000, TimerProc);

// 等待定時器事件

MSG msg;

while (GetMessage(&msg, NULL, 0, 0))

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

// 取消定時器

KillTimer(NULL, timerId);

return 0;

}

在上面的示例中,我們創建了一個每1秒觸發一次的定時器,并定義了一個名為TimerProc的定時器回調函數。在主函數中,我們使用GetMessage循環等待定時器事件的發生。最后,我們使用KillTimer函數取消定時器。

注意:SetTimer函數是在Windows平臺上使用的API,所以上述示例只能在Windows操作系統上運行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女