2014-11-24 234 views
0

我从我的工作线程发布消息到主UI线程。我想知道是否我按照这个顺序发布了两条消息MSG1和MSG2,它们都会在主线程中始终按照相同的顺序执行吗?还是不能保证它们的执行顺序?谢谢。postmessage的执行顺序是什么?

+0

不是100%肯定的,但我想这可能取决于这些消息是不同的类型等,因为其中一个或另一个可能会被卡住在另一个进程(钩子)的消息队列中。 – Mario 2014-11-24 07:52:48

+0

你不是在试图发布像WM_PAINT这样的系统消息吗? Windows优化了几种消息类型,例如它可以融合多个油漆信息。 – MSalters 2014-11-24 10:56:21

+0

没有全部是WM_USER消息。 – Kumar 2014-11-25 06:24:35

回答

1

如果您将它们按顺序放在主消息队列中,它们将按该顺序处理。

但是,这适用于正常处理。处理结束可能会忽略特定消息的顺序和过滤,或忽略特定的消息。所以,如果你对订单有问题,也许你的消息循环处理器无法按照你期望的方式工作。