win32消息机制 随笔
Windows消息队列的优先级:
如果需要改变一个已有的计时器额时间间隔,可以使用不同的时间间隔再次调用setTimer函数。
如果一个时钟程序需要实现显示描述或隐藏秒数的功能,就可以使用该方法。可以简单的把
即使其的时间间隔设置未1000和6000毫秒之间。
Windows通过QS_SENDMESSAGE、QS_POSTMESSAGE、QS_QUIT, QS_INPUT, QS_PAINT, QS_TIMER
表示是否有发送消息,等级消息,退出消息,输入消息,重绘消息,定时消息。消息的优先级是
QS_SENDMESSAEG > QS_POSTMESSAG > QS_QUIT > QS_INPUT > QS_PAINT > QS_TIMER
WM_TIMER消息的优先级最低,所以在由其他消息的情况下,WM_TIMER消息得不到处理,如果在处理WM_PAINT消息时又出发了界面的重绘,这个会导致了始终有WM_PAINT消息要处理,WM_TIMER于是的不到处理的机会,因为WM_TIMER消息是非异步消息,所以消息如果得不到处理,就会丢失。