Entrées du clavier

Cette section décrit comment le système génère une entrée au clavier et comment une application la reçoit et la traite.

Dans cette section

Nom Description
À propos de l’entrée au clavier Décrit les entrées au clavier.
Utilisation des entrées au clavier Décrit les tâches associées aux entrées du clavier.
Informations de référence sur les entrées du clavier Contient la référence API.

Functions

Nom Description
ActivateKeyboardLayout Définit l’identificateur de paramètres régionaux d’entrée (anciennement appelé handle de disposition du clavier) pour le thread appelant ou le processus en cours. L’identificateur de paramètres régionaux d’entrée spécifie des paramètres régionaux ainsi que la disposition physique du clavier.
BlockInput Empêche les événements d’entrée du clavier et de la souris d’atteindre les applications.
EnableWindow Active ou désactive l’entrée de la souris et du clavier dans la fenêtre ou le contrôle spécifié. Lorsque l’entrée est désactivée, la fenêtre ne reçoit pas de données telles que les clics de souris et les pressions sur les touches. Lorsque l’entrée est activée, la fenêtre reçoit toutes les entrées.
GetActiveWindow Récupère le handle de la fenêtre active qui est joint à la file d'attente de messages du thread appelant.
GetAsyncKeyState Détermine si une touche est en haut ou en bas au moment où la fonction est appelée, et si la touche a été pressée après un appel précédent à GetAsyncKeyState.
GetFocus Récupère le handle de la fenêtre qui a le focus du clavier, si la fenêtre est jointe à la file d’attente de messages du thread appelant.
GetKeyboardLayout Récupère l’identificateur de paramètres régionaux d’entrée actif (anciennement la disposition du clavier) pour le thread spécifié. Si le paramètre idThread est égal à zéro, l’identificateur de paramètres régionaux d’entrée pour le thread actif est retourné.
GetKeyboardLayoutList Récupère les identificateurs de paramètres régionaux d’entrée (anciennement appelés handles de disposition du clavier) correspondant à l’ensemble actuel de paramètres régionaux d’entrée dans le système. La fonction copie les identificateurs dans la mémoire tampon spécifiée.
GetKeyboardLayoutName Récupère le nom de l’identificateur de paramètres régionaux d’entrée actif (anciennement la disposition du clavier).
GetKeyboardState Copie l’état des 256 clés virtuelles dans la mémoire tampon spécifiée.
GetKeyNameText Récupère une chaîne qui représente le nom d’une clé.
GetKeyState Récupère l'état de la clé virtuelle spécifiée. L'état indique si la touche est en haut, en bas ou si elle est actionnée (activée et désactivée en alternance chaque fois que la touche est enfoncée).
GetLastInputInfo Récupère l’heure du dernier événement d’entrée.
IsWindowEnabled Détermine si la fenêtre est activée pour les entrées de la souris et du clavier.
LoadKeyboardLayout Charge un nouvel identificateur de paramètres régionaux d’entrée (anciennement appelé disposition du clavier) dans le système. Plusieurs identificateurs de paramètres régionaux d’entrée peuvent être chargés à la fois, mais un seul par processus est actif à la fois. Le chargement de plusieurs identificateurs de paramètres régionaux d’entrée permet de basculer rapidement entre eux.
MapVirtualKey Convertit (mappe) un code de clé virtuelle en code d’analyse ou en valeur de caractère, ou traduit un code d’analyse en code de clé virtuelle.
Afin de spécifier un handle pour la disposition du clavier à utiliser pour traduire le code spécifié, utilisez la fonction MapVirtualKeyEx.
MapVirtualKeyEx Mappe un code de clé virtuelle en code d’analyse ou en valeur de caractère, ou traduit un code d’analyse en code de clé virtuelle. La fonction traduit les codes à l’aide de la langue d’entrée et d’un identificateur de paramètres régionaux d’entrée.
OemKeyScan Mappe les codes OEMASCII 0 à l’aide de 0x0FF dans les codes d’analyse OEM et les états de décalage. La fonction fournit des informations qui permettent à un programme d’envoyer du texte OEM à un autre programme en simulant une entrée au clavier.
RegisterHotKey Définit une touche d’accès rapide à l’échelle du système.
SendInput Synthétise les frappes au clavier, les mouvements de la souris et les clics sur les boutons.
SetActiveWindow Active une fenêtre. La fenêtre doit être jointe à la file d’attente des messages du thread appelant.
SetFocus Définit le focus du clavier sur la fenêtre spécifiée. La fenêtre doit être jointe à la file d’attente des messages du thread appelant.
SetKeyboardState Copie une table de 256 octets d’états de touche de clavier dans la table d’état d’entrée du clavier du thread appelant. Il s’agit de la même table accessible à l’aide des fonctions GetKeyboardState et GetKeyState. Les modifications apportées à cette table n’affectent pas l’entrée du clavier dans un autre thread.
ToAscii Traduit le code de touche virtuelle et l’état du clavier spécifiés en caractères correspondants. La fonction traduit le code à l’aide de la langue d’entrée et de la disposition physique du clavier identifiée par le handle de disposition du clavier.
Afin de spécifier un handle pour la disposition du clavier à utiliser pour traduire le code spécifié, utilisez la fonction ToAsciiEx.
ToAsciiEx Traduit le code de touche virtuelle et l’état du clavier spécifiés en caractères correspondants. La fonction traduit le code à l’aide de la langue d’entrée et de la disposition physique du clavier identifiée par le l’identificateur de paramètres régionaux.
ToUnicode Traduit le code de touche virtuelle et l’état du clavier spécifiés en caractères Unicode correspondants.
Afin de spécifier un handle pour la disposition du clavier à utiliser pour traduire le code spécifié, utilisez la fonction ToUnicodeEx.
ToUnicodeEx Traduit le code de touche virtuelle et l’état du clavier spécifiés en caractères Unicode correspondants.
UnloadKeyboardLayout Décharge un identificateur de paramètres régionaux d’entrée (anciennement appelé disposition du clavier).
UnregisterHotKey Libère une touche d’accès rapide précédemment enregistrée par le thread appelant.
VkKeyScanEx Traduit un caractère en code de clé virtuelle et en état de décalage correspondants. La fonction traduit le caractère à l’aide de la langue d’entrée et de la disposition physique du clavier identifiée par le l’identificateur de paramètres régionaux.

Les fonctions suivantes sont obsolètes.

Fonction Description
GetKBCodePage Récupère la page de codes actuelle.
keybd_event Synthétise une séquence de touches. Le système peut utiliser une telle séquence de touches synthétisée pour générer un message WM_KEYUP ou WM_KEYDOWN. Le gestionnaire d’interruptions du pilote de clavier appelle la fonction keybd_event.
VkKeyScan Traduit un caractère en code de clé virtuelle et en état de décalage correspondants pour le clavier actuel.

Messages

Nom Description
WM_GETHOTKEY Détermine la touche d’accès rapide associée à une fenêtre.
WM_SETHOTKEY Associe une touche d’accès rapide à la fenêtre. Lorsque l’utilisateur appuie sur cette touche de raccourci, le système active la fenêtre.

Notifications

Nom Description
WM_ACTIVATE Envoyé à la fenêtre en cours d’activation et à la fenêtre en cours de désactivation. Si les fenêtres utilisent la même file d’attente d’entrée, le message est envoyé de manière synchrone, d’abord à la procédure de fenêtre de la fenêtre de niveau supérieur en cours de désactivation, puis à la procédure de fenêtre de la fenêtre de niveau supérieur en cours d’activation. Si les fenêtres utilisent des files d’attente d’entrée différentes, le message est envoyé de manière asynchrone, de sorte que la fenêtre est immédiatement activée.
WM_APPCOMMAND Avertit une fenêtre que l’utilisateur a généré un événement de commande d’application, par exemple en cliquant sur un bouton de commande d’application à l’aide de la souris ou en tapant une touche de commande d’application sur le clavier.
WM_CHAR Publié dans la fenêtre qui a le focus clavier lorsqu'un message WM_KEYDOWN est traduit par la fonction TranslateMessage. Le message WM_CHAR contient le code de caractère de la touche qui a été enfoncée.
WM_DEADCHAR Publié dans la fenêtre qui a le focus clavier lorsqu'un message WM_KEYUP est traduit par la fonction TranslateMessage. WM_DEADCHAR spécifie un code de caractère généré par une touche morte. Une touche morte est une touche qui génère un caractère, par exemple l’umlaut (point double), combiné avec un autre caractère pour former un caractère composite. Par exemple, le caractère umlaut-O ( ) est généré en appuyant sur la touche morte pour le caractère umlaut, puis sur la touche O.
WM_HOTKEY Publié lorsque l'utilisateur appuie sur une touche d'accès rapide enregistrée par la fonction RegisterHotKey. Le message est placé en haut de la file d’attente de messages associée au thread qui a enregistré la touche de raccourci.
WM_KEYDOWN Publié dans la fenêtre avec le focus clavier quand une touche non système est relâchée. Une touche non système est une touche qui est enfoncée quand la touche ALT n’est pas enfoncée.
WM_KEYUP Publié dans la fenêtre avec le focus clavier lorsqu’une touche non système est relâchée. Une touche non système est une touche qui est enfoncée lorsque la touche ALT n’est pas enfoncée, ou une touche clavier qui est enfoncée lorsqu’une fenêtre a le focus clavier.
WM_KILLFOCUS Envoyé à une fenêtre immédiatement avant qu’elle ne perde le focus clavier.
WM_SETFOCUS Envoyé à une fenêtre après qu’elle a obtenu le focus clavier.
WM_SYSDEADCHAR Envoyé à la fenêtre qui a le focus clavier quand un message WM\_SYSKEYDOWN est traduit par la fonction TranslateMessage. WM_SYSDEADCHAR spécifie le code de caractère d’une touche morte système, c’est-à-dire une touche morte enfoncée tout en maintenant la touche ALT enfoncée.
WM_SYSKEYDOWN Affiché dans la fenêtre avec le focus clavier lorsque l'utilisateur appuie sur la touche F10 (qui active la barre de menu) ou maintient la touche ALT enfoncée et appuie ensuite sur une autre touche. Elle se produit également lorsqu’aucune fenêtre n’a actuellement le focus clavier ; dans ce cas, le message WM_SYSKEYDOWN est envoyé à la fenêtre active. La fenêtre qui reçoit le message peut faire la distinction entre ces deux contextes en vérifiant le code de contexte dans le paramètre lParam.
WM_SYSKEYUP Publié dans la fenêtre qui possède le focus clavier lorsque l’utilisateur relâche une touche qui a été actionnée alors que la touche Alt était maintenue enfoncée. Elle se produit également lorsqu’aucune fenêtre n’a actuellement le focus clavier ; dans ce cas, le message WM_SYSKEYUP est envoyé à la fenêtre active. La fenêtre qui reçoit le message peut faire la distinction entre ces deux contextes en vérifiant le code de contexte dans le paramètre lParam.
WM_UNICHAR Publié dans la fenêtre qui a le focus clavier lorsqu'un message WM_KEYDOWN est traduit par la fonction TranslateMessage. Le message WM_UNICHAR contient le code de caractère de la touche qui a été enfoncée.

Structures

Nom Description
HARDWAREINPUT Contient des informations sur un message simulé généré par un périphérique d’entrée autre qu’un clavier ou une souris.
INPUT Contient des informations utilisées pour synthétiser les événements d’entrée tels que les frappes au clavier, les mouvements et les clics de souris.
KEYBDINPUT Contient des informations sur un événement de clavier simulé.
LASTINPUTINFO Contient l’heure de la dernière entrée.
MOUSEINPUT Contient des informations sur un événement de souris simulé.

Constantes

Nom Description
Codes de touche virtuelle Les noms de constante symbolique, les valeurs hexadécimales et les équivalents de souris ou de clavier pour les codes de touche virtuelle utilisés par le système. Les codes sont répertoriés dans l’ordre numérique.

Voir aussi