Windows消息传递机制详解_电脑基础知识_IT计算机_专业资料

Windows消息传递机制详解_电脑基础知识_IT计算机_专业资料

ID:42422752

大小:645.29 KB

页数:24页

时间:2019-09-14

Windows消息传递机制详解_电脑基础知识_IT计算机_专业资料_第1页
Windows消息传递机制详解_电脑基础知识_IT计算机_专业资料_第2页
Windows消息传递机制详解_电脑基础知识_IT计算机_专业资料_第3页
Windows消息传递机制详解_电脑基础知识_IT计算机_专业资料_第4页
Windows消息传递机制详解_电脑基础知识_IT计算机_专业资料_第5页
资源描述:

《Windows消息传递机制详解_电脑基础知识_IT计算机_专业资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用户是如何跟应用软件打交道的我们来看看,用户究竟是如何与应用软件打交道的(用户不需要知道这个具体过程,但应用软件的开发人员必须知道),如下图所示:从上图可以看到:在物理上,离用户最近的实际上是输入输出设备,下面我们看看上图中这六个步骤分別表示什么意思(为了简便,在叙述吋,我们的标号没有用圆圈):1.用户点击鼠标或者键盘;2.Windows感觉到了鼠标或键盘的动作;3.Windows把这个消息告诉应用程序;4.应用程序告诉Windows做事,实际上就是应用程序调用Windows的API函数;5.Wind

2、ows讣输出设备做事;6.用户获得输出。对用户来说,没有必要了解输入输出设备和Windows的相关知识。对程序员(写应用程序的人)來说,没有必要了解输入输出设备,但是必须了解Windows的基本知识。在下用户是如何跟应用软件打交道的我们来看看,用户究竟是如何与应用软件打交道的(用户不需要知道这个具体过程,但应用软件的开发人员必须知道),如下图所示:从上图可以看到:在物理上,离用户最近的实际上是输入输出设备,下面我们看看上图中这六个步骤分別表示什么意思(为了简便,在叙述吋,我们的标号没有用圆圈):1.用

3、户点击鼠标或者键盘;2.Windows感觉到了鼠标或键盘的动作;3.Windows把这个消息告诉应用程序;4.应用程序告诉Windows做事,实际上就是应用程序调用Windows的API函数;5.Windows讣输出设备做事;6.用户获得输出。对用户来说,没有必要了解输入输出设备和Windows的相关知识。对程序员(写应用程序的人)來说,没有必要了解输入输出设备,但是必须了解Windows的基本知识。在下面的叙述中,我们就不管输入输出设备了。上而的过程还是很笼统,为了弄得更清楚,我们有必要了解Wind

4、ows的消息机制,如图:下面,我们来慢慢描述(上图屮的虚线表示消息的流程):stepO:程序员编程,把WinMain函数和窗口回调函数写好;stepl:Windows调用WinMain函数,启动应用程序‘Windows会建立一个消息队列,用来存储消息。step2:WinMain函数调用Windows的API函数,比如调用CreateWindow和ShowWindow,从而生成并显示一个窗口。在调用CreateWindow函数时,会产生一个消息,这个消息并不进入消息队列,但窗口的回调函数仍然会处理,在此

5、,我们不讨论非队列消息。step3:WinMain函数调用Windows的API函数,比如调用GetMessage来从消息队列屮取出消息。假设用户这个时候在窗口屮点击鼠标,那么Windows会把这个事件包装成消息,投到消息队列屮,GetMessage会取岀这个消息,通过DispatchMessage送到Windows;step4:Windows进ifij会将该消息发送到窗口的回调函数,并对该函数进行调用;step5:窗口的回调函数可以对这个消息进行相应处理,这个处理的具体方法山程序员口己决定,通常是调

6、用Windows的API函数来实现处理。Windows消息传递机制详解Windows是一个消息(Message)驱动系统。Windows的消息提供了应用程序之间、应用程序与Windows系统之间进行通信的手段。应用程序想要实现的功能由消息来触发,并且靠对消息的响应和处理来完成。必须注意的是,消息并非是抢占性的,无论事件的缓急,总是按照到达的先后派对,依次处理(一些系统消息除外),这样可能使一些实时外部事件得不到及时处理。Windows的应用程序一般包含窗口(Window),它主要为用户提供一种可视化的

7、交互方式,窗口是总是在某个线程(Thread)内创建的。Windows系统通过消息机制来管理交互,消息(Message)被发送,保存,处理,一个线程会维护自己的一套消息队列(MessageQueue),以保持线程间的独占性。队列的特点无非是先进先出,这种机制可以实现一种异步的需求响应过程。目录:1、消息2、消息类型3、消息队列(MessageQueues)4、队列消息(QueuedMessages)和非队列消息(Non-QueuedMessages)5>PostMessage(PostThreadMe

8、ssage),SendMessage6>GetMessage,PeekMessage7>TranslateMessage,TranslateAccelerator8、(消息死锁(MessageDeadlocks)9>BroadcastSystemMessage1()、消息的处理11、MFC的消息映射12、消息反射机制消息系统对于〜Win32程序来说十分重要z它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了—个事件,向Win

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。