
所谓"消息循环",实际是程序循环。
即Wi来自ndows 中有一个系统消息队列360百科,对于每一个正在执行的Windows应用程序,系统为其建立一个"消息队列",即应用程序队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一段称作"消息循环"的钟穿考啊切代码,用来从消息队列中检索这些消息并把它们分发到相应的窗口函数中。
- 中文名称 消息循环
- 外文名称 Message loop
- 内容 操作系统
- 要点 消息队列
Windows是来自以消息驱动的操作系统,Windows 消息提供了应用程序与Windows系统之间进行通讯的手段。
Windows应用程序是基于消息的程序360百科设计模式,使用事件驱动编程模型,分为消息概述、消白掉伟息结构、消息类型。
Windows 中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个"消此事秋并太错让都息队列",即应用程序队列,用来存放该程序可能创建的各种窗口的消息。应用程序中含有一顶裂处群穿白段称作"消息循环"的代码,用来从消息队列中检裂束占甲间不副占显草分索这些消息并把它们分发固首轻食毛早到相应的窗口函数中。
消息循环代码是应用程序中主函数WinMain ( )中类似如下的程序段:
while(Ge己英tMessage(&msg,NULL,0,0))
{ //从消息队列中列取得消息
TranslateMessage(&msg);
//检索并生成字符消息WM_CHAR
DispatchMessage(&msg);
//将消息发送给相应的窗口函数
}
由此可见,所谓"消息循环",立实际是程序循环。
场线试负宽均凯 Windows 具击评述台深袁设应用程序创建的每个窗口都在系统核心注册一个相应的窗口函数,窗口函数程序代码形式上是一个巨大的switch 语句,用以处理由消息循环发送到该窗口的消息,窗口函数由Windows 采用消息驱动的形式直接调用,而不是由应用程序显示调用的,窗口函数处理完消息后又将控制权返回给Windows。