理解Windows消息处理机制

                                          理解Windows消息处理机制


1. 消息处理机制简单介绍

     Windows操作系统维护一个系统消息队列,同时系统给每个GUI线程提供一个线程消息队列,鼠标、键盘事件由鼠标或键盘驱动程序封装成消息并把消息放进系统消息队列中。Windows每次从系统消息队列移走一个消息,确定它是送给哪个窗口和这个窗口是由哪个线程创建的,线程接收到消息后将消息放到线程消息队列,并通过线程的消息循环依次从消息队列移出消息并派发给对应的窗口处理过程来处理。


2. Windows消息处理机制过程

         Windows消息处理机制过程分为以下几个步骤:

           ①  操作系统捕获应用程序的某个事件,转化为消息后投递到应用程序的消息队列中;

           ②  应用程序调用GetMessage函数从消息队列中取出这条消息,然后对这条消息进行预处理;

           ③  应用程序调用DispatchMessage函数将这条消息回传给操作系统;

           ④  操作系统调用应用程序的窗口过程函数处理这条消息。

        步骤②和③构成一个消息循环,在没有接到WM_QUIT消息时,Windows应用程序通过这个循环保证程序始终处于运行状态。

        消息处理机制过程如下图所示:


         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值