Что касается отправки сообщения, CreateWindow
отправляет сообщение напрямую, как если бы использовалось SendMessage
.Если вы много программировали для Windows, вы, вероятно, отправляли сообщения элементам управления напрямую таким образом, и все происходило немедленно, без необходимости запуска насоса сообщений;Windows тоже сделает это сам.
Что касается проблемы PostQuitMessage
, то обычной тактикой является выполнение какой-то другой проверки в цикле сообщений, чтобы увидеть, должно ли приложение выйти.Например, вместо публикации сообщения о выходе при закрытии окна и ожидания WM_QUIT
в цикле сообщений, вы можете сохранить счетчик открытых окон, а затем просто выйти при наличии 0 открытых окон.
Там нет ничегоВолшебство о WM_QUIT
, за исключением удобного способа, которым вы можете отправить его с помощью PostQuitMessage
и легко проверить его с помощью функций GetMessage
(и т. д.).Вы можете не использовать его и принять решение о выходе из программы по какой-либо другой причине.