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);

SetTimer 文档

以上是关于WIN32 定时器消息的主要内容,如果未能解决你的问题,请参考以下文章

win32 ——定时器消息 小程序:打印时间

有没有办法强制 Win32 计时器在不空闲时执行?

请教一个利用pywin32向特定窗口发送键盘消息的问题

如何在win32里面设置一个计时器?

win32界面程序开发,自制一个会自动销毁的提示框

Win32 - 无法使用 RedrawWindow() 触发 WM_PAINT 消息