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 décrit les messages Windows et les files d’attente de messages. |
à l’aide 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 Windows et aux files d’attente de messages. |
de référence de message | Contient la référence de l’API. |
messages System-Provided
Pour obtenir des listes des messages fournis par le système, consultez System-Defined Messages.
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 requête 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 | Répartit un message dans 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 souris ou de clavier dans la file d’attente des messages du thread appelant. |
GetMessage | Récupère un message à partir 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 la récupération. Contrairement à getMessage, la fonction PeekMessage n’attend pas qu’un message soit publié avant de retourner. |
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 message pour le dernier message récupéré par la fonction GetMessage. L’heure est un entier long qui spécifie le temps écoulé, en millisecondes, du moment où le système a commencé à l’heure de création du message (autrement dit, placé dans la file d’attente de messages du thread). |
GetQueueStatus | Indique le type de messages trouvés dans la file d’attente des messages du thread appelant. |
InSendMessage | 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 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 actuelle traite un message envoyé à partir d’un autre thread (dans le même processus ou un autre processus). |
PeekMessage | Répartit 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 de fin (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 être unique dans tout le 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 appelée 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 fenêtre ou à une fenêtre. 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 fonctionSendMessageCallbackou SendNotifyMessage. Pour publier un message dans la file d’attente de messages d’un thread et retourner immédiatement, utilisez la fonction PostMessage ou Fonction PostThreadMessage. |
sendMessageCallback | Envoie le message spécifié à une fenêtre ou à une fenêtre. 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 traite 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 fenêtres supplémentaires. |
SendNotifyMessage | 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. |
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 de clé virtuelle en messages de caractères. Les messages de 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 GetMessage ou fonction 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 de 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ée. |
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ée. |
Message Structures
Nom | Description |
---|---|
BSMINFO | Contient des informations sur une fenêtre qui a refusé une demande de BroadcastSystemMessageEx. |
msg | Contient des informations de message à partir de la file d’attente de messages d’un thread. |