Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ windows消息的健壮性如何?_C++_Winapi - Fatal编程技术网

C++ windows消息的健壮性如何?

C++ windows消息的健壮性如何?,c++,winapi,C++,Winapi,如果我用PostMessage(返回true)对消息进行排队,我是否可以确定,除非发生灾难性事件,否则窗口最终将处理消息?(无论如何都会使程序崩溃)一旦发布消息,消息不会从队列中消失 我们的一个产品是Windows服务,它使用Windows消息在线程之间进行通信,并且严重依赖于线程。到目前为止,我们所看到的唯一问题是,如果过急,队列将被填满,并且在有人开始清空队列之前不会接受更多消息。如果调用PostMessage()成功,您可以确定消息将在队列中 如果接收队列已满,PostMessage()将

如果我用PostMessage(返回true)对消息进行排队,我是否可以确定,除非发生灾难性事件,否则窗口最终将处理消息?(无论如何都会使程序崩溃)

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


我们的一个产品是Windows服务,它使用Windows消息在线程之间进行通信,并且严重依赖于线程。到目前为止,我们所看到的唯一问题是,如果过急,队列将被填满,并且在有人开始清空队列之前不会接受更多消息。

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

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

张贴的限制为10000 每个消息队列的消息数。这个限度 应该足够大。如果你的 应用程序超出了限制,它 应该重新设计以避免 消耗如此多的系统资源。到 调整此限制,修改 下面是注册表项

您无法确定是否会处理已发布的消息,因为这取决于另一个应用程序是否使用其消息队列

这有点迂腐,因为在现实中,一个从不排队的应用程序永远不会被任何人通过自然选择的过程运行