zoukankan      html  css  js  c++  java
  • PostMessage和SendMessage的区别

    1, PostMessage只把消息放入队列,不管其他程序是否处理都返回,然后继续执行,这是个异步消息投放函数。
    而SendMessage必须等待其他程序处理消息完了之后才返回,继续执行,这是个同步消息投放函数。

    2, 如果在同一个线程内,PostMessage发送消息时,消息要先放入线程的消息队列,然后通过消息循环Dispatch到目标窗口。
    SendMessage发送消息时,系统直接调用目标窗口的消息处理程序,并将结果返回,SendMessage在同一线程中发送消息并不入线程消息队列。

    3,PostMessage的返回值表示PostMessage函数执行是否正确;而SendMessage的返回值表示其他程序处理消息后的返回值。这点大家应该都明白。

    4,如果在不同线程内。最好用PostThreadMessage代替PostMessage,他工作的很好,SendMessage发送消息到目标窗口所属的线程的消息队列,然后发送消息的线程等待(事实上,他应该还在做一些监测工作,比如监视QS_SENDMESSAGE标志),直到目标窗口处理完并且结果返回,发送消息的线程才继续运行。

    摘自:http://www.cnblogs.com/likwo/archive/2011/04/23/2025570.html 

  • 相关阅读:
    Multisim的电路分析方法
    转载论文关于fir滤波器的fpga实现
    verilog数组定义及其初始化
    FIR滤波器的FPGA实现方法
    matlab的fda工具使用方法
    卷积的幽默解释
    lvds配置
    latch的产生和消除
    时序优化实例
    第九篇:使用 lstat 函数获取文件信息
  • 原文地址:https://www.cnblogs.com/whl2012/p/MFC.html
Copyright © 2011-2022 走看看