首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SendMessage vs PostMessage + WaitForSingleObject

SendMessage vs PostMessage + WaitForSingleObject
EN

Stack Overflow用户
提问于 2011-07-22 00:22:21
回答 4查看 12K关注 0票数 11

我想知道调用SendMessage (阻塞)和结合WaitForSingleObject调用PostMessage有什么不同。有什么想法?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-22 01:13:29

如果从COM调用的上下文中调用SendMessage(),则可能会拒绝该调用(调用是通过消息泵调度的)。PostMessage()不受遵守COM单元规则的限制。

此外,PostMessage()将消息放在窗口的消息队列的末尾。SendMessage()绕过队列。你可以在Raymond Chen的博客The Old New Thing上找到更长的关于消息队列的讨论。

我的观点是,SendMessage()PostMessage()之间的区别比看上去的更多。我真的推荐你去看看Raymond的博客,因为这些年来他已经介绍了很多问题。

票数 19
EN

Stack Overflow用户

发布于 2011-07-22 00:26:21

PostMessageWaitForSingleObject允许您进行异步消息传递。您可以发送消息,执行其他操作,并在稍后返回查看回复。SendMessage是同步的,需要您等待。

票数 4
EN

Stack Overflow用户

发布于 2011-07-22 01:10:36

我一直认为SendMessage直接调用windows过程,跳过了消息队列;而PostMessage只是将消息添加到队列中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6779386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档