Messages et files d’attente de messages
Cette section décrit les messages et les files d’attente de messages et comment les utiliser dans vos applications.
Dans cette section
Nom | Description |
---|---|
À propos des messages et des files d’attente de messages | Cette section traite des messages Windows et des files d’attente de messages. |
Utilisation de messages et de files d’attente de messages | Les exemples de code suivants montrent comment effectuer les tâches suivantes associées aux messages et aux files d’attente de messages Windows. |
Informations de référence sur les messages | Contient la référence d’API. |
System-Provided Messages
Pour obtenir la liste des messages fournis par le système, consultez Messages définis par le système.
Fonctions de message
Nom | Description |
---|---|
BroadcastSystemMessage | Envoie un message aux destinataires spécifiés. Les destinataires peuvent être des applications, des pilotes installables, des pilotes réseau, des pilotes de périphérique au niveau du système ou toute combinaison de ces composants système. Pour recevoir des informations supplémentaires si la demande est définie, utilisez la fonction BroadcastSystemMessageEx . |
BroadcastSystemMessageEx | Envoie un message aux destinataires spécifiés. Les destinataires peuvent être des applications, des pilotes installables, des pilotes réseau, des pilotes de périphérique au niveau du système ou toute combinaison de ces composants système. Cette fonction est similaire à BroadcastSystemMessage, sauf que cette fonction peut retourner plus d’informations à partir des destinataires. |
DispatchMessage | Distribue un message à une procédure de fenêtre. Il est généralement utilisé pour distribuer un message récupéré par la fonction GetMessage . |
GetInputState | Détermine s’il existe des messages de bouton de la souris ou du clavier dans la file d’attente de messages du thread appelant. |
GetMessage | Récupère un message de la file d’attente de messages du thread appelant. La fonction distribue les messages envoyés entrants jusqu’à ce qu’un message publié soit disponible pour récupération. Contrairement à GetMessage, la fonction PeekMessage n’attend pas qu’un message soit publié avant de revenir. |
GetMessageExtraInfo | Récupère les informations de message supplémentaires pour le thread actuel. Les informations de message supplémentaires sont une valeur définie par l’application ou le pilote associée à la file d’attente de messages du thread actuel. |
GetMessagePos | Récupère la position du curseur pour le dernier message récupéré par la fonction GetMessage . Pour déterminer la position actuelle du curseur, utilisez la fonction GetCursorPos . |
GetMessageTime | Récupère l’heure du dernier message récupéré par la fonction GetMessage . L’heure est un entier long qui spécifie le temps écoulé, en millisecondes, entre le démarrage du système et le moment où le message a été créé (c’est-à-dire placé dans la file d’attente de messages du thread). |
GetQueueStatus | Indique le type de messages trouvés dans la file d’attente de messages du thread appelant. |
InSendMessage | Détermine si la procédure de fenêtre active traite un message qui a été envoyé à partir d’un autre thread (dans le même processus ou un autre processus) par un appel à la fonction SendMessage . Pour obtenir des informations supplémentaires sur la façon dont le message a été envoyé, utilisez la fonction InSendMessageEx . |
InSendMessageEx | Détermine si la procédure de fenêtre active traite un message envoyé à partir d’un autre thread (dans le même processus ou dans un autre processus). |
PeekMessage | Distribue les messages envoyés entrants, vérifie la file d’attente des messages de thread pour un message publié et récupère le message (le cas échéant). |
PostMessage | Publie un message dans la file d’attente de messages associée au thread qui a créé la fenêtre spécifiée et retourne sans attendre que le thread traite le message. Pour publier un message dans la file d’attente de messages associée à un thread, utilisez la fonction PostThreadMessage . |
PostQuitMessage | Indique au système qu’un thread a effectué une demande d’arrêt (quitter). Il est généralement utilisé en réponse à un message WM_DESTROY . |
PostThreadMessage | Publie un message dans la file d’attente de messages du thread spécifié. Elle retourne sans attendre que le thread traite le message. |
RegisterWindowMessage | Définit un nouveau message de fenêtre qui est garanti comme étant unique dans l’ensemble du système. La valeur du message peut être utilisée lors de l’envoi ou de la publication de messages. |
ReplyMessage | Répond à un message envoyé via la fonction SendMessage sans retourner le contrôle à la fonction qui a appelé SendMessage. |
SendAsyncProc | Fonction de rappel définie par l’application utilisée avec la fonction SendMessageCallback . Le système transmet le message à la fonction de rappel après avoir transmis le message à la procédure de fenêtre de destination. Le type SENDASYNCPROC définit un pointeur vers cette fonction de rappel.
SendAsyncProc est un espace réservé pour le nom de la fonction définie par l’application. |
SendMessage | Envoie le message spécifié à une ou plusieurs fenêtres. La fonction SendMessage appelle la procédure de fenêtre pour la fenêtre spécifiée et ne retourne pas tant que la procédure de fenêtre n’a pas traité le message. Pour envoyer un message et retourner immédiatement, utilisez la fonction SendMessageCallback ou SendNotifyMessage . Pour publier un message dans la file d’attente de messages d’un thread et le retourner immédiatement, utilisez la fonction PostMessage ou PostThreadMessage . |
SendMessageCallback | Envoie le message spécifié à une ou plusieurs fenêtres. Il appelle la procédure de fenêtre pour la fenêtre spécifiée et retourne immédiatement. Une fois que la procédure de fenêtre a traité le message, le système appelle la fonction de rappel spécifiée, en passant le résultat du traitement du message et une valeur définie par l’application à la fonction de rappel. |
SendMessageTimeout | Envoie le message spécifié à l’une des autres fenêtres. |
SendNotifyMessage | Envoie le message spécifié à une ou plusieurs fenêtres. 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. |
SetMessageExtraInfo | Définit les informations de message supplémentaires pour le thread actuel. Les informations de message supplémentaires sont une valeur définie par l’application ou le pilote associée à la file d’attente de messages du thread actuel. Une application peut utiliser la fonction GetMessageExtraInfo pour récupérer les informations de message supplémentaires d’un thread. |
TranslateMessage | Convertit les messages à clé virtuelle en messages caractères. Les messages caractères sont publiés dans la file d’attente des messages du thread appelant, pour être lus la prochaine fois que le thread appelle la fonction GetMessage ou PeekMessage . |
WaitMessage | Renvoie le contrôle à d’autres threads lorsqu’un thread n’a pas d’autres messages dans sa file d’attente de messages. La fonction WaitMessage suspend le thread et ne retourne pas tant qu’un nouveau message n’est pas placé dans la file d’attente des messages du thread. |
Constantes de message
Nom | Description |
---|---|
OCM__BASE | Utilisé pour définir des messages privés à utiliser par des classes de fenêtre privées. |
WM_APP | Utilisé pour définir des messages privés. |
WM_USER | Utilisé pour définir des messages privés à utiliser par des classes de fenêtre privées. |
Message Structures
Nom | Description |
---|---|
BSMINFO | Contient des informations sur une fenêtre qui a refusé une demande de BroadcastSystemMessageEx. |
MSG | Contient des informations sur les messages de la file d'attente de messages d'un thread. |