Partager via


SendNotifyMessageW, fonction (winuser.h)

Envoie le message spécifié à une fenêtre ou à une fenêtre. Si la fenêtre a été créée par le thread appelant, SendNotifyMessage appelle la procédure de fenêtre pour la fenêtre et ne retourne pas tant que la procédure de fenêtre n’a pas traité le message. Si la fenêtre a été créée par un autre thread, SendNotifyMessage transmet le message à la procédure de fenêtre et retourne immédiatement ; il n’attend pas que la procédure de fenêtre termine le traitement du message.

Syntaxe

BOOL SendNotifyMessageW(
  [in] HWND   hWnd,
  [in] UINT   Msg,
  [in] WPARAM wParam,
  [in] LPARAM lParam
);

Paramètres

[in] hWnd

Type : HWND

Handle vers la fenêtre dont la procédure de fenêtre reçoit le message. Si ce paramètre est HWND_BROADCAST ((HWND)0xffff), le message est envoyé à toutes les fenêtres de niveau supérieur du système, y compris les fenêtres désactivées ou invisibles, les fenêtres superposées et les fenêtres contextuelles ; mais le message n’est pas envoyé aux fenêtres enfants.

[in] Msg

Type : uiNT

Message à envoyer.

Pour obtenir des listes des messages fournis par le système, consultez System-Defined Messages.

[in] wParam

Type : WPARAM

Informations supplémentaires spécifiques aux messages.

[in] lParam

Type : LPARAM

Informations supplémentaires spécifiques aux messages.

Valeur de retour

Type : BOOL

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

Si vous envoyez un message dans la plage ci-dessous WM_USER aux fonctions de message asynchrones (postMessage, SendNotifyMessageet SendMessageCallback), ses paramètres de message ne peuvent pas inclure de pointeurs. Sinon, l’opération échoue. Les fonctions retournent avant que le thread de réception ait eu la possibilité de traiter le message et l’expéditeur libère la mémoire avant son utilisation.

Les applications qui doivent communiquer à l’aide de HWND_BROADCAST doivent utiliser la fonction RegisterWindowMessage pour obtenir un message unique pour la communication entre applications.

Le système effectue uniquement le marshaling pour les messages système (ceux de la plage 0 à (WM_USER-1)). Pour envoyer d’autres messages (ces >= WM_USER) à un autre processus, vous devez effectuer un marshaling personnalisé.

Note

L’en-tête winuser.h définit SendNotifyMessage comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include Windows.h)
bibliothèque User32.lib
DLL User32.dll
ensemble d’API ext-ms-win-ntuser-message-l1-1-3 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

conceptuelle

messages et files d’attente de messages

PostMessage

PostThreadMessage

de référence

RegisterWindowMessage

SendMessage

SendMessageCallback

SendNotifyMessage