Eine Nachricht

Du kannst eine Nachricht an eine Nachrichtenwarteschlange mithilfe der PostMessage -Funktion. PostMessage stellt eine Nachricht am Ende der Meldungswarteschlange eines Threads und wird sofort beendet, ohne zu warten die Threads zum Verarbeiten der Nachricht. Die Parameter der Funktion sind ein Fensterhandle und eine Meldungs-ID zwei Message-Parameter. Das System kopiert diese Parameter in eine MSG -Struktur, füllt die Zeit und pt -Member der Struktur und die Struktur in der Warteschlange platziert.

Das System verwendet das Fensterhandle übergeben mit der PostMessage -Funktion um zu bestimmen, welcher Thread Warteschlange die Nachricht erhalten sollen. Wenn das Handle HWND_TOPMOST ist, Bucht das System die Nachricht an die Thread-Nachrichtenwarteschlangen des alle Fenster der obersten Ebene.

Die Funktion PostThreadMessage können Sie eine Nachricht an einen bestimmten Thread-Nachrichtenwarteschlange. PostThreadMessage ähnelt PostMessage, außer der erste Parameter ein Fensterhandle, anstatt eine Thread-ID ist. Sie können die Thread-ID abrufen, indem Sie die GetCurrentThreadId -Funktion.

Verwenden Sie die PostQuitMessage -Funktion zum Beenden einer Meldungsschleife. PostQuitMessage Beiträge die Nachricht WM_QUIT an den aktuell ausgeführten Thread. Meldungsschleife des Threads beendet und gibt die Steuerung an das System zurück, wenn er die Nachricht WM_QUIT trifft. Eine Anwendung ruft normalerweise PostQuitMessage als Reaktion auf die Nachricht WM_DESTROY , wie im folgenden Beispiel gezeigt.

case WM_DESTROY: / / um Aufräumarbeiten durchzuführen. 
 
    PostQuitMessage(0); 
    Pause