A single threaded Win32 GUI application has multiple top-level windows. In a message handler for one of the windows, it displays a modal dialog (for example, by using the MessageBox function). The other windows in the application still work as usual, even though the only thread in the application is waiting for the modal dialog result.
how does this behavior work?