VkKeyScanA, fonction (winuser.h)
[Cette fonction a été remplacée par la fonction VkKeyScanEx . Toutefois, vous pouvez toujours utiliser VkKeyScan si vous n’avez pas besoin de spécifier une disposition de clavier.]
Traduit un caractère en code de clé virtuelle et en état de décalage correspondants pour le clavier actuel.
Syntaxe
SHORT VkKeyScanA(
[in] CHAR ch
);
Paramètres
[in] ch
Type : TCHAR
Caractère à traduire en code de clé virtuelle.
Valeur retournée
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 d’ordre supérieur contient l’état shift, qui peut être une combinaison des bits d’indicateur suivants.
Valeur retournée | Description |
---|---|
|
L’une ou l’autre des touches Maj est enfoncée. |
|
L’une ou l’autre touche Ctrl est enfoncée. |
|
L’une ou l’autre touche ALT est enfoncée. |
|
La touche Hankaku est enfoncée |
|
Réservé (défini par le pilote de disposition du clavier). |
|
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 d’ordre inférieur et d’ordre élevé contiennent -1.
Remarques
Pour les dispositions de clavier qui utilisent la touche ALT de droite comme touche maj (par exemple, la Français disposition du clavier), l’état shift est représenté par la valeur 6, car la touche ALT de droite est convertie en interne en CTRL+ALT.
Les traductions du pavé numérique (VK_NUMPAD0 à VK_DIVIDE) sont ignorées. Cette fonction est destinée à traduire des caractères en séquences de touches à partir de la section clavier main uniquement. Par exemple, le caractère « 7 » est traduit en VK_7, et non en VK_NUMPAD7.
VkKeyScan est utilisé par les applications qui envoient des caractères à l’aide des messages WM_KEYUP et WM_KEYDOWN .
Notes
L’en-tête winuser.h définit VkKeyScan en tant qu’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. La combinaison 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | winuser.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |