OnIdle的调用
首先看GetMessage(PumpMessage中被调用)与PeekMessage的区别:
当消息队列为空时,程序会被阻塞在GetMessage的调用处。这时系统就有会去照顾其它进程了。而PeekMessage不会挂起,而是耗掉系统分配给它的时间片。
本文探讨了OnIdle在消息队列为空时的调用策略,如何避免死循环并确保程序响应。通过GetMessage与PeekMessage的区别,介绍了如何在消息处理与OnIdle之间找到平衡,使用变量bIdle和IsIdleMessage函数进行控制,允许用户自定义消息筛选,以防止不必要的OnIdle调用。
OnIdle的调用
首先看GetMessage(PumpMessage中被调用)与PeekMessage的区别:
当消息队列为空时,程序会被阻塞在GetMessage的调用处。这时系统就有会去照顾其它进程了。而PeekMessage不会挂起,而是耗掉系统分配给它的时间片。
1517
2887

被折叠的 条评论
为什么被折叠?