在处理 WM_TIMER 时,我调用了 MessageBox。结果,一个消息框弹出了计时器的频率。所以我相信即使在MessageBox期间,应用程序也试图继续处理排队/非排队的消息。
我对吗?
我知道根据 MSDN,当应用程序将消息发送到与发送线程不同的线程时,发送线程将尝试在SendMessage返回之前处理它收到的非排队消息——即在目标线程回复之前。
除了MessageBox和SendMessage之外,还有其他函数可以尝试在返回之前继续处理排队/非排队的消息吗?我需要知道这一点以确定在 Window 过程中调用的任何函数是否应该是可重入的。
另外两个相关问题是 1) DispatchMessage在窗口过程返回之前不会返回吗?2)如果当前的DispatchMessage还没有返回, GetMessage会不会被再次调用?