应用程序即使在消息框期间都可以使用



处理WM_TIMER时,我称 MessageBox 。结果,一个消息框随计时器的频率而弹出。因此,我相信该应用程序即使在 MessageBox 中也试图继续处理排队/非流行消息。

我对吗?

我知道,根据MSDN,当应用程序从发送线程发送到其他线程时,发送线程将尝试处理它在 sendmessage returns> returns -return -return之前接收到的非流行消息 - - 即在目标线程回复之前。

MessageBox sendmessage 外,还有其他功能可以在返回之前继续处理排队/非流行消息吗?我需要知道这一点,以确定在窗口过程中调用的任何功能是否应重新进入。

另外两个相关问题是1) dispatchMessage 在窗口过程返回之前不返回?2)如果当前 dispatchMessage 尚未返回?

模态对话框使用调用线程的消息队列在内部运行自己的消息循环。您在WM_TIMER处理程序内调用MessageBox(),因此MessageBox()内部的消息循环正在接收和派遣随后的WM_TIMER消息。

相关内容

最新更新