SendMessage与PostMessage

程叙远 2012-11-26 11:28:06
什么时候用SendMessage,什么时候用PostMessage?
...全文
195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-04-02
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
I_ask_who 2012-11-26
  • 打赏
  • 举报
回复
SendMessage用于阻塞,如果传递大型数据,发送方负责销毁. PostMessage用于非阻塞,如果传递大型数据,接收方负责销毁.
九州剑王 2012-11-26
  • 打赏
  • 举报
回复
亲,网上到处都能搜索到的啊~
breaksoftware 2012-11-26
  • 打赏
  • 举报
回复
同步异步的关系,看你逻辑是要同步还是异步。如果同步则Send,否则Post。
liuli7786 2012-11-26
  • 打赏
  • 举报
回复
PostMessage只负责将消息放到消息队列中,不确定何时及是否处理。(执行后马上返回) SendMessage要等到收到消息处理的返回码(DWord类型)后才继续。(必须等到消息处理后才会返回)
jiuzhoulh 2012-11-26
  • 打赏
  • 举报
回复
SendMessage是可靠的传输。 PostMessage是不可靠传输。 像送信一样:SendMessage要把信交到接信人的手中;PostMessage只是把信投到邮箱中,至于信能不能到它就不管了
傻X 2012-11-26
  • 打赏
  • 举报
回复
SendMessage直接处理,不进消息队列,处理完返回。 PostMessage进消息队列的,不是立刻触发。 另外,有些特定的消息,诸如WM_COPYDATA之类的,绑定固定发送方式SendMessage。 也有必须PostMessage的情况,如虚拟键盘的模拟等。

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧