首页 > 技术文章 > win32消息机制 随笔

xiaodukuko 2017-02-28 10:40 原文

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消息是非异步消息,所以消息如果得不到处理,就会丢失。

推荐阅读