【面试题研究1】SendMessage是否进入消息队列

      SendMessage发送出来的消息到底进入不进入消息队列,确切的说是有时进入,有时不进入。

    1.当向本线程所建立的窗口SendMessage消息时,它只是调用窗口的消息处理过程。如下图所示,OnTimer中调用SendMessage,会直接调用到消息处理过程。

【面试题研究1】SendMessage是否进入消息队列_第1张图片


   2.当一个线程向另一个线程所建立的窗口SendMessage时,该消息要添加到接收线程的消息队列,然后发送消息的线程进入等待状态,接收消息的线程处理完该消息后,由系统唤醒发送消息的线程,这时发送线程继续执行。如下图所示:窗口通过PumpMessage获取消息然后处理。


【面试题研究1】SendMessage是否进入消息队列_第2张图片

你可能感兴趣的:(【面试题研究1】SendMessage是否进入消息队列)