VC/Win32 消息队列的关系

本文深入探讨消息队列的概念及其在计算机编程中的应用,包括消息队列的类型、关系和消息的分类。重点阐述了系统消息队列与程序消息队列的区别,以及消息如何在系统和窗口间传递。详细介绍了队列消息和非队列消息的处理方式,以及PostMessage、GetMessage等关键函数的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 消息队列
     用于存放消息的队列,消息在队列中先进先出。
     所有窗口都有消息队列,程序从队列中取消息。
   2 消息队列的类型
     2.1 系统消息队列
        由系统维护的消息队列,存放系统产生的消息
 例如:键盘消息、鼠标消息。
     2.2 程序消息队列
        属于程序(线程)的消息队列,由程序(
 线程)自己维护。
   3 消息队列的关系
     3.1 当鼠标,键盘产生消息时,先放入系统消息
         队列。
     3.2 系统会根据存放的消息,找到对应的窗口信
         息。
     3.3 按照对应窗口信息放入消息程序消息
         队列中。

4.1 根据消息和消息队列的使用关系,将消息
         分为:
  队列消息 - 存入消息队列,消息的发送和
             获取都通过消息队列完成。
  非队列消息 - 不存入消息队列,直接调用
             窗口处理函数。
     4.2 队列消息 - 先把消息放入队列,通过消息
           循环从队列中取得消息并发送给窗口处理
    函数。
    PostMessage - 向队列中存放消息。
    GetMessage/PeekMessage - 取得队列消息
    通常情况下按照队列处理的消息:
      WM_PAINT/键盘消息/鼠标消息等...
     4.3 非队列消息 - 消息直接找 对应 窗口处理
           函数,调用函数,完成消息处理。
    SendMessage - 非队列消息,直接调用窗
    口处理函数,等待处理结果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值