好遗憾,明明不想失去,却又无能为力,说真的,那种想放弃又想爱的滋味,真折磨人。。。。

----  网易云热评

一、定时器消息

1、可以在程序中设置定时器,当到达时间间隔时,定时器会向程序发送一个WM_TIMER消息。

2、定时器的精度是毫秒,但是准确度很低。

3、例如设置时间间隔为1000ms,但是会在非1000毫秒到达。

 

二、消息的参数

1、WPARAM - 定时器ID

2、LPARAM - 定时器处理函数的指针

 

三、定时器使用

1、创建定时器

UINT_PTR SetTimer(
HWND hWnd,//定时器窗口句柄
UINT_PTR nIDEvent, //定时器ID
UINT uElapse,//时间间隔
TIMERPROC lpTimerFunc //定时器处理函数指针
);创建成功,返回非0。

使用窗口处理函数,做为定时器处理函数,lpTimerFunc为NULL

使用定时器处理函数处理定时器消息。

2、消息处理 WM_TIMER

case WM_TIMER:
定时器窗口处理(hWnd,wParam);
break;
case WM_CREATE://创建定时器
SetTimer(hWnd,10001,1000,NULL);
SetTimer(hWnd, 10002, 3000, 哎呦);
break;
void 定时器窗口处理(HWND hWnd,WPARAM wParam)
{
wchar_t str[256] = { 0 };
swprintf_s(str, L"定时器窗口处理:%d\n", wParam);
WriteConsole(g_DOS窗口句柄, str, wcslen(str), NULL, NULL);//DOS显示
}

 

3、关闭定时器

BOOL KillTimer(
HWND hWnd,//定时器窗口句柄
UINT_PTR uIDEvent //定时器ID
);
case WM_LBUTTONDOWN:
KillTimer(hWnd, 10001);
break;

win32编程 -- 定时消息_win32编程

欢迎关注公众号:顺便编点程

 

win32编程 -- 定时消息_窗口句柄_02