首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows消息的健壮性如何?

windows消息的健壮性如何?
EN

Stack Overflow用户
提问于 2011-03-16 21:54:58
回答 2查看 252关注 0票数 6

如果我使用PostMessage对一条消息进行排队(它返回true),我能确定最终窗口将处理该消息吗?除非发生一些灾难性事件(无论如何都会导致程序崩溃)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-16 21:56:29

一旦发布了消息,就不会从队列中消失。

我们的一个产品是Windows服务,它使用Windows消息在线程之间通信,它严重依赖于它们。到目前为止,我们看到的唯一问题是,如果你发布它们太快,队列就会填满,并且不会接受更多的消息,直到有人开始排空队列。

票数 6
EN

Stack Overflow用户

发布于 2011-03-16 21:59:45

您可以确定,如果对PostMessage()的调用成功,消息将在队列中。

如果接收队列已满,PostMessage()将失败。MSDN说:

每个消息队列最多只能发送10,000条消息。这个限制应该足够大。如果您的应用程序超出了限制,则应该重新设计它,以避免消耗太多系统资源。要调整此限制,请修改以下注册表项。

你不能确定发布的消息是否会被处理,因为这取决于其他应用程序是否抽出它的消息队列。

这有点书呆子气,因为在现实中,一个不会抽出队列的应用程序永远不会被任何人通过自然选择的过程来运行!

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

https://stackoverflow.com/questions/5326332

复制
相关文章

相似问题

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