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);

  • 相关阅读:
    Linux之nginx服务
    设计模式-总结
    linux rabbitmq 远程登录
    swagger常用注解
    nginx总结
    mysql-sql
    dubbo-文档
    JVM总结-Java语法糖与Java编译器
    JVM总结-synchronized
    JVM总结-java内存模型
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11504384.html
Copyright © 2011-2022 走看看