Entrée au clavier (entrée clavier et souris)

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

Dans cette section

Nom Description
À propos de l’entrée au clavier Discute de l’entrée au clavier.
Utilisation de l’entrée au clavier Couvre les tâches associées à l’entrée au clavier.
Référence d’entrée du clavier Contient la référence de l’API.

Fonctions

Nom Description
ActivateKeyboardLayout Définit l’identificateur de paramètres régionaux d’entrée (anciennement appelé handle de disposition de clavier) pour le thread appelant ou le processus actuel. 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 de clavier et de 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é. Quand l’entrée est désactivée, la fenêtre ne reçoit pas d’entrée telles que des clics de souris et des frappes de touches. Quand l’entrée est activée, la fenêtre reçoit toutes les entrées.
GetActiveWindow Récupère le handle de fenêtre de la fenêtre active jointe à la file d’attente de messages du thread appelant.
GetAsyncKeyState Détermine si une touche est vers le haut ou vers le haut au moment où la fonction est appelée, et si la touche a été enfoncée après un appel précédent à GetAsyncKeyState.
Focus Récupère le handle de la fenêtre qui a le focus clavier, si la fenêtre est attachée à 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 appelé disposition de 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 (autrefois appelés handles de disposition de 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 appelé disposition de clavier).
GetKeyboardState Copie l’état des clés virtuelles 256 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 spécifie si la touche est en haut, en-dessous ou bascule (activé, désactivé 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 spécifiée est activée pour l’entrée de la souris et du clavier.
LoadKeyboardLayout Charge un nouvel identificateur de paramètres régionaux d’entrée (anciennement appelé disposition de 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 passer rapidement de l’un à l’autre.
MapVirtualKey Convertit (mappe) un code de clé virtuelle en code d’analyse ou valeur de caractère, ou convertit un code d’analyse en un code de clé virtuelle.
Pour spécifier un handle vers la disposition de clavier à utiliser pour la traduction du code spécifié, utilisez la fonction MapVirtualKeyEx .
MapVirtualKeyEx Cartes un code de clé virtuelle dans un code d’analyse ou une valeur de caractère, ou convertit un code d’analyse en un 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 Cartes OEMASCII code 0 à 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 l’entrée au clavier.
RegisterHotKey Définit une touche d’accès rapide à l’ensemble du système.
SendInput Synthétise les séquences de touches, les mouvements de souris et les clics de bouton.
SetActiveWindow Active une fenêtre. La fenêtre doit être attachée à la file d’attente de messages du thread appelant.
SetFocus Définit le focus clavier sur la fenêtre spécifiée. La fenêtre doit être attachée à la file d’attente de messages du thread appelant.
SetKeyboardState Copie un tableau de 256 octets d’États de clé clavier dans la table d’état d’entrée du clavier du thread appelant. Il s’agit de la même table accessible par les fonctions GetKeyboardState et GetKeyState . Les modifications apportées à cette table n’affectent pas l’entrée au clavier pour un autre thread.
ToAscii Convertit le code de touche virtuelle et l’état du clavier spécifiés en caractères correspondants. La fonction convertit le code à l’aide de la langue d’entrée et de la disposition du clavier physique identifiée par la poignée de disposition du clavier.
Pour spécifier un handle vers la disposition de clavier à utiliser pour traduire le code spécifié, utilisez la fonction ToAsciiEx .
ToAsciiEx Convertit le code de touche virtuelle et l’état du clavier spécifiés en caractères correspondants. La fonction convertit le code à l’aide de la langue d’entrée et de la disposition du clavier physique identifiée par l’identificateur de paramètres régionaux d’entrée.
ToUnicode Convertit le code de touche virtuelle et l’état du clavier spécifiés en caractères Unicode correspondants.
Pour spécifier un handle vers la disposition de clavier à utiliser pour traduire le code spécifié, utilisez la fonction ToUnicodeEx .
ToUnicodeEx Convertit 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 de clavier).
UnregisterHotKey Libère une touche d’accès rapide précédemment inscrite par le thread appelant.
VkKeyScanEx Convertit un caractère en code de touche virtuelle et état de décalage correspondants. La fonction convertit le caractère à l’aide de la langue d’entrée et de la disposition de clavier physique identifiée par l’identificateur de paramètres régionaux d’entrée.

Les fonctions suivantes sont obsolètes.

Fonction Description
GetKBCodePage Récupère la page de codes actuelle.
_événement keybd Synthétise une séquence de touches. Le système peut utiliser une telle séquence de touches synthétisées pour générer un message WM _ KEYUP ou WM _ KeyOut. Le gestionnaire d’interruption du pilote de clavier appelle la fonction d' _ événement keybd .
VkKeyScan Convertit un caractère en code de touche virtuelle et état de décalage correspondants pour le clavier actuel.

Messages

Nom Description
_GETHOTKEY WM Détermine la touche d’accès rapide associée à une fenêtre.
_SETHOTKEY WM Associe une touche d’accès rapide à la fenêtre. Quand l’utilisateur appuie sur la touche d’accès rapide, le système active la fenêtre.

Notifications

Nom Description
activation de WM _ Envoyé à la fenêtre en cours d’activation et à la fenêtre désactivée. 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 désactivée, 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 activée immédiatement.
_APPCOMMAND WM 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.
_caractère WM Publié dans la fenêtre qui a le focus clavier lorsqu’un message de _ keyversion WM est traduit par la fonction TranslateMessage . Le message WM _ char contient le code de caractère de la touche qui a été enfoncée.
_DEADCHAR WM 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 clé morte. Une clé morte est une clé qui génère un caractère, tel que le tréma (double point), qui est combiné avec un autre caractère pour former un caractère composite. Par exemple, le caractère Umlaut-O () est généré en tapant la touche morte pour le caractère tréma, puis en tapant la touche O.
_touche de raccourci WM 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 d’accès rapide.
WM- _ touche Publié dans la fenêtre qui a le focus clavier lorsqu’une touche non-système est enfoncée. Une touche non-système est une touche qui est enfoncée lorsque la touche ALT n’est pas enfoncée.
WM _ KEYUP Publié dans la fenêtre qui a 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 du clavier qui est enfoncée lorsqu’une fenêtre a le focus clavier.
_KILLFOCUS WM Envoyé à une fenêtre juste avant de perdre le focus clavier.
WM _ SetFocus Envoyé à une fenêtre après qu’il a obtenu le focus clavier.
_SYSDEADCHAR WM Envoyé à la fenêtre avec le focus clavier lorsqu’un message WM _ SYSKEYDOWN est traduit par la fonction TranslateMessage . WM _ SYSDEADCHAR spécifie le code de caractère d’une clé morte du système, c’est-à-dire une touche morte enfoncée tout en maintenant la touche Alt enfoncée.
_SYSKEYDOWN WM Publié dans la fenêtre qui a le focus clavier lorsque l’utilisateur appuie sur la touche F10 (qui active la barre de menus) ou maintient la touche ALT enfoncée, puis appuie 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 .
_SYSKEYUP WM Publié dans la fenêtre qui a le focus clavier lorsque l’utilisateur relâche une touche qui a été enfoncé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 .
_UNICHAR WM Publié dans la fenêtre qui a le focus clavier lorsqu’un message de _ keyversion WM 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.
ENTRÉE Contient des informations utilisées pour la synthèse des événements d’entrée tels que les séquences de touches, le déplacement de la souris 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 clé virtuelle Les noms de constantes symboliques, 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.