Отправка сообщения

Вы можете разместить сообщение в очередь сообщений, используя функцию PostMessage . PostMessage помещает сообщения в конце очереди сообщений потока и возвращает немедленно, не дожидаясь потока для обработки сообщения. Параметры функции включают дескриптор окна, идентификатор сообщения и два параметры сообщения. Система копирует эти параметры к структуре MSG , заполняет, время и pt члены структуры и помещает структуры в очереди сообщений.

Система использует дескриптор окна, с функцией PostMessage для определения, какие очереди сообщений потока должен получить сообщение. Если дескриптор HWND_TOPMOST, система сообщений сообщение к очередям сообщений потока всех окон верхнего уровня.

Чтобы отправить сообщение в очередь сообщений определенного потока можно использовать функцию PostThreadMessage . PostThreadMessage похож на PostMessage, за исключением того, что первый параметр — идентификатор потока, а не дескриптор окна. Идентификатор потока можно извлечь, вызвав GetCurrentThreadId функция.

Используйте функцию PostQuitMessage для выхода из цикла обработки сообщений. PostQuitMessage должностей сообщение WM_QUIT для выполнения текущего потока. Цикл обработки сообщений потока завершается и возвращает управление в систему, когда он встречает WM_QUIT сообщение. Приложение обычно вызывает PostQuitMessage в ответ на сообщение WM_DESTROY , как показано в следующем примере.

дело WM_DESTROY: / / выполняет задачи по очистке. 
 
    PostQuitMessage(0); 
    перерыв