Księgowanie wiadomości

Można ogłosić wiadomość do kolejki wiadomości przy użyciu funkcji PostMessage . PostMessage umieszcza wiadomość do końca wątku wiadomości kolejki i zwraca natychmiast, bez oczekiwania na przetwarzanie wiadomości wątku. Parametry funkcji zawierają uchwyt okna, identyfikator wiadomości i dwa parametry wiadomości. System kopiuje te parametry do struktury MSG , wypełnia czasu i pt członków struktury i umieszcza struktury w kolejce wiadomości.

System używa dojście do okna przekazywane za pomocą funkcji PostMessage , aby określić, które kolejki wiadomości wątku powinien otrzymać wiadomość. Jeśli dojście jest HWND_TOPMOST, system zaksięguje wiadomości do kolejek wiadomości wątku wszystkich okien najwyższego poziomu.

Funkcja PostThreadMessage umożliwia ogłaszanie wiadomości do kolejki wiadomości określonym wątku. PostThreadMessage jest podobne do PostMessage, pierwszy parametr jest identyfikator wątku, zamiast uchwyt okna. Identyfikator wątku można pobrać wywołując GetCurrentThreadId funkcji.

Aby zamknąć pętlę komunikat, należy użyć funkcji PostQuitMessage . PostQuitMessage stanowisk wiadomość WM_QUIT obecnie wykonującego wątku. Pętla wiadomości wątku kończy i zwraca sterowanie do systemu po napotkaniu komunikat WM_QUIT. Aplikacja zwykle wymaga PostQuitMessage w odpowiedzi na komunikat WM_DESTROY , jak pokazano w poniższym przykładzie.

sprawa WM_DESTROY: / / oczyszczania zadań. 
 
    PostQuitMessage(0); 
    podział