Partager via


VkKeyScanExA, fonction (winuser.h)

Traduit un caractère en code de clé virtuelle correspondante et en état de décalage. La fonction traduit le caractère à 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.

Syntaxe

SHORT VkKeyScanExA(
  [in] CHAR ch,
  [in] HKL  dwhkl
);

Paramètres

[in] ch

Type : TCHAR

Caractère à traduire en code de clé virtuelle.

[in] dwhkl

Type : HKL

Identificateur de paramètres régionaux d’entrée utilisé pour traduire le caractère. Ce paramètre peut être n’importe quel identificateur de paramètres régionaux d’entrée précédemment retourné par la fonction LoadKeyboardLayout.

Valeur de retour

Type : SHORT

Si la fonction réussit, l’octet de bas ordre de la valeur de retour contient le code de clé virtuelle et l’octet de classement élevé contient l’état de décalage, qui peut être une combinaison des bits d’indicateur suivants.

Valeur de retour Description
1
L’une ou l’autre touche Maj est enfoncée.
2
L’une ou l’autre touche Ctrl est enfoncée.
4
L’une des touches Alt est enfoncée.
8
La touche Hankaku est enfoncée
16
Réservé (défini par le pilote de disposition du clavier).
32
Réservé (défini par le pilote de disposition du clavier).
 

Si la fonction ne trouve aucune clé qui se traduit par le code de caractère passé, les octets de bas ordre et d’ordre élevé contiennent -1.

Remarques

L’identificateur des paramètres régionaux d’entrée est un concept plus large qu’une disposition de clavier, car il peut également englober un convertisseur de reconnaissance vocale, un éditeur de méthode d’entrée (IME) ou toute autre forme d’entrée.

Pour les dispositions du clavier qui utilisent la touche ALT de droite comme touche maj (par exemple, la disposition du clavier français), l’état de décalage est représenté par la valeur 6, car la touche ALT de droite est convertie en interne en Ctrl+Alt.

Les traductions pour le pavé numérique (VK_NUMPAD0 via VK_DIVIDE) sont ignorées. Cette fonction est destinée à traduire des caractères en séquences de touches de la section clavier principale uniquement. Par exemple, le caractère « 7 » est traduit en VK_7, et non en VK_NUMPAD7.

VkKeyScanEx est utilisé par les applications qui envoient des caractères à l’aide des messages WM_KEYUP et WM_KEYDOWN.

Note

L’en-tête winuser.h définit VkKeyScanEx 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

Voir aussi