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

  • 相关阅读:
    c_str()函数
    Linux创建用户
    Linux vim替换命令
    计算器表达式求值源码
    结构体、共用体。面试必用
    Ubuntu打开中文输入法
    Unable to establish SSL connection
    变量的命名和使用
    C++ ARX二次开发-MFC 非模态对话框modaless dialog
    C++ ARX二次开发-创建三维实体
  • 原文地址:https://www.cnblogs.com/guorongtao/p/11504384.html
Copyright © 2011-2022 走看看