win32编程 -- 定时消息
原创
©著作权归作者所有:来自51CTO博客作者web安全工具库的原创作品,请联系作者获取转载授权,否则将追究法律责任
好遗憾,明明不想失去,却又无能为力,说真的,那种想放弃又想爱的滋味,真折磨人。。。。
---- 网易云热评
一、定时器消息
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;
欢迎关注公众号:顺便编点程