非队列化消息则是其它消息。在许多情况下,非队列化消息来自呼叫特定的Windows函数。例如,当WinMain呼叫CreateWindow时,Windows将建立窗口并在处理中给窗口消息处理程序发送一个WM_CREATE消息。当WinMain呼叫ShowWindow时,Windows将给窗口消息处理程序发送WM_SIZE和WM_SHOWWINDOW消息。当WinMain呼叫UpdateWindow时,Windows将给窗口消息处理程序发送WM_PAINT消息。键盘或鼠标输入时发出的队列化消息信号,也能在非队列化消息中出现。例如,用键盘或鼠标选择了一个菜单项时,键盘或鼠标消息就是队列化的,而说明菜单项已选中的WM_COMMAND消息则可能就是非队列化的。
 
图5 Windows消息机制
(4)    SendMessage()与PostMessage()之间的区别
它们两者是用于向应用程序发送消息的。PostMessagex()将消息直接加入到应用程序的消息队列中,不等程序返回就退出;而SendMessage()则刚好相反,应用程序处理完此消息后,它才返回。图6能够比较好的体现这两个函数的关系:
 
图6 postmessage与sendmessage的区别
(5)  函数peekmessage和getmessage的区别
1.GetMessage将等到有合适的消息时才返回,而PeekMessage只是撇一下消息队列。
2.GetMessage会将消息从队列中删除,而PeekMessage可以设置最后一个参数wRemoveMsg来决定是否将消息保留在队列中。
上一篇:VC++数字图像边缘检测算法研究与实现
下一篇:ASP.NET的家教网站设计与开发+文献综述

茬RedHat中使用ReiserFS文件系统【1804字】

使用indy的IdTcpServer,IdTcpclient传輸文件【68字】

使用http协议和winsockapi实现...

Android移动终端文件透明加密技术设计与实现

移动端Android公司文件管理系统设计

OpenSSL文件安全传输工具设计与实现

Android文件自毁技术的分析和实现

国内外图像分割技术研究现状

C#学校科研管理系统的设计

医院财务风险因素分析及管理措施【2367字】

神经外科重症监护病房患...

AT89C52单片机的超声波测距...

中国学术生态细节考察《...

公寓空调设计任务书

承德市事业单位档案管理...

志愿者活动的调查问卷表

10万元能开儿童乐园吗,我...