GetMessage和PeekMessage是从消息队列取消息。
而PostMessage是向消息队列放消息,
SendMessage不是向消息队列放消息,而是直接执行消息,
那么GetMessage or PeekMessage函数能否接收到SendMessage的消息呢?

解决方案 »

  1.   

    SendMessage向同一进程范围内的窗口发消息时直接调用处理例程,不同进程时将消息放入对方的消息队列.GetMessage只能从消息队列中取消息.另外,有些消息是不入队的.
      

  2.   

    SendMessage不是向消息队列放消息,而是直接执行消息
    =========================
    不是这样吧?我觉得SendMessage与PostMessage的不同在于它要等待这个消息被执行后才继续后面的程序,而PostMessage是不等待就继续执行后面的程序。对于发送消息这部分来说,两个函数应该是一样的,将消息放到队列中。所以GetMessage和PeekMessage都能接收到SendMessage的消息。不知道我想的对不对
      

  3.   

    当向不同的线程中用SendMessage()发送时就会发送到消息队列中,
    这时可以用GetMessage或PeekMessage()进行读取,但要注意这时处理的
    消息会在GetMessage()或PeekMessage()内部处理掉,也就是说当这两个函数返回的时候
    是要处理其它的消息!