SUMMARY
Do not call any function that may cause control to yield to another
application during the processing of any of the following messages:
WM_ACTIVATE
WM_ACTIVATEAPP
WM_CREATE
WM_INITDIALOG
WM_NCCREATE
Certain messages are used to notify applications of some change in
Windows's internal status. While processing one of these messages, an
application cannot call any function that may result in control being
yielded to another application. Forbidden functions include
message-processing functions such as
MessageBox(),
DialogBox(),
GetMessage(), and
PeekMessage().
Violating this caveat may cause Windows to exhibit strange visual
behavior.