zoukankan      html  css  js  c++  java
  • Delphi WinAPI 消息函数 SendMessage函数和 PostMessage的区别

    SendMessage函数 将指定的消息发到窗口。它调用特定窗口的窗口处理函数,并且不会立即返回,直到窗口处理函数处理了这个消息。

    PostMessage函数 将一个消息放入与创建这个窗口的消息队列相关的线程中,并立刻返回不等待线程处理消息。

    SendMessage是发送消息,然后等待处理完成返回,但发送消息的方法为直接调用消息处理函数(即WndProc函数),按照函数调用规则,肯定会等消息处理函数返回之后,SendMessage才返回。而PostMessage却没有发送消息,PostMessage是将消息放入消息队列中,然后立刻返回,至于消息何时被处理,PostMessage完全不知道,此时只有消息循环知道被PostMessage的消息何时被处理了。

    例句:

    向按钮(Button)发送单击:

    SendMessage:

      SendMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0);

      SendMessage(Button1.Handle, WM_LBUTTONUP, 0, 0);

    PostMessage:

      PostMessage(Button1.Handle, WM_LBUTTONDOWN, 0, 0);
      PostMessage(Button1.Handle, WM_LBUTTONUP, 0, 0);

  • 相关阅读:
    div3--C. Pipes
    Problem F Free Weights
    H
    Problem C Careful Ascent
    Problem L. World Cup
    Problem E. Bet
    Problem D. Ice Cream Tower
    A. Number Theory Problem
    A
    软考知识点梳理--项目评估
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11504384.html
Copyright © 2011-2022 走看看