WIN32 定时器消息
Posted 不会写代码的丝丽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WIN32 定时器消息相关的知识,希望对你有一定的参考价值。
设置每隔多少秒后发送消息WM_TIMER
//每间隔1000毫秒后发送一个WM_TIMER
//注意最后一个参数是函数指针,如果为空会发送消息否则回调函数
//当前设置计时器的id为23.可以用这个id取消这个计时器。KillTimer函数可以用来取消对应id的计时器
//KillTimer(hwnd, 23);
SetTimer(hwnd, 23, 1000,NULL);
MSG msg;
//5消息循环
while (GetMessage(&msg, hwnd, 0, 0))
MYWNDPROC(msg.hwnd, msg.message, msg.wParam, msg.lParam);
系统默认帮我们自动分发的到类关联的函数
DispatchMessage(&msg);
LRESULT CALLBACK MYWNDPROC(HWND hwind, UINT unit, WPARAM wp, LPARAM lp)
//用户点击界面的x菜单的时候回收到WM_CLOSE消息
//收到消息后主动发一个WM_QUIT表示进程结束
if (unit==WM_CLOSE)
PostMessage(hwind, WM_QUIT, NULL, NULL);
//也可以用如下消息API
//PostQuitMessage(0);
//返回值跟发送的消息相关,但是退出的消息随便返回
return 0;
else if (WM_TIMER ==unit)
TCHAR name[100];
_stprintf(name, _T("WM_TIMER收到\\n"));
OutputDebugString(name);
return 0;
return DefWindowProc(hwind,unit,wp,lp);
以上是关于WIN32 定时器消息的主要内容,如果未能解决你的问题,请参考以下文章