6. 当让步返回时,检视在当前任务中是否有计时器到期。如果是,创建一个wm_timer消息并返回。它不但发生在“返回一个wm_timer消息到窗体”的计时器上,同样也发生在“调用一个计时器处理过程”的计时器上。如要了解更多信息,请看在微软开发者网络(msdn)光盘(包括技术文章、windows文章、核心和驱动程序文章)中的文章“timers and timing in microsoft windows”(译者注:如果读者能够认可我的工作,我会不遗余力地翻译这篇关于计时器的文章)。
7. 如果这个应用程序没有计时器事件服务,并且一个应用程序正在被终止,代码将尝试去缩小图形设备界面(gdi)的本地内存堆。一些应用程序,比如绘图应用程序(像paintbrush™),为gdi分配了大量的堆内存。当应用程序终止时释放这些对象时,会使gdi本地内存堆被空闲空间填满而膨胀。为了恢复这些空闲的空间, 在getmessage/peekmessage处理中,localshrink将在这一点被调用于gdi的内存堆。这个被完成一次,(每次)一个应用程序将终止。
8. 在这一时刻,代码将分叉为两条路,一是代码任意的返回一个有效的消息,另一个是完全没有这个应用程序去处理的消息、事件,而代码最终会走哪条路决定于peekmessage和getmessage中的哪一个被调用。