VC/Win32 GetMessage/PeekMessage的执行次序

 GetMessage/PeekMessage的执行次序
        1 先去程序(线程)消息队列中检查有没
   有消息如果有消息,检查 指定条件
   (窗口句柄ID,范围)是否满足条件,
   如果满足条件取出消息。
        2 如果程序(线程)消息队列中没有消息
   向系统队列中获取 本应用程序的消息,
   系统队列的当前消息是 本应用程序的,
   系统转发 消息 到程序(线程)的消息
   队列,然后GetMessage到程序(线程)
   的消息队列中获取消息,返回。
        3 如果系统的消息队列中也没有 本应用程
   序相关的消息,检查当前窗口有没有需要
   重新绘制的区域,如果有需要重新绘制
   的区域就发送一个消息(WM_PAINT),并
   将这个消息放入队列,取出并返回。
        4 如果没有需要重新绘制的区域,检查一下
   有没有到时间的定时器,如果有到时间的
   定时器那么发送一个消息(WM_TIMER).
        5 如果以上都没有整理一下程序的资源,内
   存等...
        6 GetMessage函数等待下一条消息(阻塞)
   PeekMessage返回FALSE,交出程序的控制权

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值