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