SendNotifyMessageW-Funktion (winuser.h)
Sendet die angegebene Nachricht an ein Fenster oder fenster. Wenn das Fenster vom aufrufenden Thread erstellt wurde, ruft SendNotifyMessage die Fensterprozedur für das Fenster auf und wird erst zurückgegeben, wenn die Fensterprozedur die Nachricht verarbeitet hat. Wenn das Fenster von einem anderen Thread erstellt wurde, übergibt SendNotifyMessage die Nachricht an die Fensterprozedur und gibt sofort zurück. Es wartet nicht, bis die Fensterprozedur die Verarbeitung der Nachricht abgeschlossen hat.
Syntax
BOOL SendNotifyMessageW(
[in] HWND hWnd,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
Parameter
[in] hWnd
Typ: HWND
Ein Handle für das Fenster, dessen Fensterprozedur die Nachricht empfängt. Wenn dieser Parameter HWND_BROADCAST ((HWND)0xffff) ist, wird die Meldung an alle Fenster der obersten Ebene im System gesendet, einschließlich deaktivierter oder unsichtbarer nicht eigenständiger Fenster, überlappender Fenster und Popupfenster. die Nachricht wird jedoch nicht an untergeordnete Fenster gesendet.
[in] Msg
Typ: UINT
Die zu sendende Nachricht.
Listen der vom System bereitgestellten Nachrichten finden Sie unter Systemdefinierte Nachrichten.
[in] wParam
Typ: WPARAM
Zusätzliche meldungsspezifische Informationen.
[in] lParam
Typ: LPARAM
Zusätzliche meldungsspezifische Informationen.
Rückgabewert
Typ: BOOL
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn Sie eine Nachricht im folgenden Bereich WM_USER an die asynchronen Nachrichtenfunktionen (PostMessage, SendNotifyMessage und SendMessageCallback) senden, können die zugehörigen Nachrichtenparameter keine Zeiger enthalten. Andernfalls schlägt der Vorgang fehl. Die Funktionen werden zurückgegeben, bevor der empfangende Thread die Nachricht verarbeiten kann, und der Absender gibt den Speicher frei, bevor er verwendet wird.
Anwendungen, die mit HWND_BROADCAST kommunizieren müssen, sollten die RegisterWindowMessage-Funktion verwenden, um eine eindeutige Nachricht für die anwendungsübergreifende Kommunikation zu erhalten.
Das System führt nur Marshalling für Systemmeldungen durch (die im Bereich von 0 bis (WM_USER-1)). Um andere Nachrichten (diese >= WM_USER) an einen anderen Prozess zu senden, müssen Sie benutzerdefiniertes Marshalling durchführen.
Hinweis
Der winuser.h-Header definiert SendNotifyMessage als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winuser.h (windows.h einschließen) |
Bibliothek | User32.lib |
DLL | User32.dll |
APIs | ext-ms-win-ntuser-message-l1-1-3 (eingeführt in Windows 10, Version 10.0.14393) |
Siehe auch
Konzept
Nachrichten und Nachrichtenwarteschlangen
Referenz