I have a CWinThread derived class that implements a thread with a message queue. Other threads post thread messages (hWnd = NULL) to this thread using PostThreadMessage(). Normally everything works fine, but if this thread displays a message box, any thread messages that are posted to it while the message box is displayed, are lost. Is this the way things should work? Is there a way not to lose the messages posted while the message box is displayed?