Вы можете разместить сообщение в очередь сообщений, используя функцию PostMessage . PostMessage помещает сообщения в конце очереди сообщений потока и возвращает немедленно, не дожидаясь потока для обработки сообщения. Параметры функции включают дескриптор окна, идентификатор сообщения и два параметры сообщения. Система копирует эти параметры к структуре MSG , заполняет, время и pt члены структуры и помещает структуры в очереди сообщений.
Система использует дескриптор окна, с функцией PostMessage для определения, какие очереди сообщений потока должен получить сообщение. Если дескриптор HWND_TOPMOST, система сообщений сообщение к очередям сообщений потока всех окон верхнего уровня.
Чтобы отправить сообщение в очередь сообщений определенного потока можно использовать функцию PostThreadMessage . PostThreadMessage похож на PostMessage, за исключением того, что первый параметр — идентификатор потока, а не дескриптор окна. Идентификатор потока можно извлечь, вызвав GetCurrentThreadId функция.
Используйте функцию PostQuitMessage для выхода из цикла обработки сообщений. PostQuitMessage должностей сообщение WM_QUIT для выполнения текущего потока. Цикл обработки сообщений потока завершается и возвращает управление в систему, когда он встречает WM_QUIT сообщение. Приложение обычно вызывает PostQuitMessage в ответ на сообщение WM_DESTROY , как показано в следующем примере.
дело WM_DESTROY: / / выполняет задачи по очистке.
PostQuitMessage(0);
перерыв