Рассмотрите возможность передачи текста сообщения в качестве параметра потока вместо глобальной переменной, чтобы сделать код потокобезопасным.
DWORD WINAPI CreateMessageBox(LPVOID lpParam) {
MessageBoxA(NULL, (char*)lpParam, "", MB_OK);
return 0;
}
CreateThread(NULL, 0, &CreateMessageBox, "Blah, Blah, Blah...", 0, NULL);
Кроме того, вам не нужно указывать MB_APPLMODAL
как флаг по умолчанию (он равен 0).
Если вы ориентируетесь на современную ОС Windows, лучше задать UNICODE
, поскольку MessageBoxA
преобразует вас в UTF-16 и вызывает MessageBoxW