MapVirtualKeyExA, fonction (winuser.h)

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. 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.

Syntaxe

UINT MapVirtualKeyExA(
  [in]                UINT uCode,
  [in]                UINT uMapType,
  [in, out, optional] HKL  dwhkl
);

Paramètres

[in] uCode

Type : UINT

Code de clé virtuelle ou code d’analyse d’une clé. La façon dont cette valeur est interprétée dépend de la valeur du paramètre uMapType .

[in] uMapType

Type : UINT

Traduction à effectuer. La valeur de ce paramètre dépend de la valeur du paramètre uCode .

Valeur Signification
MAPVK_VK_TO_VSC
0
Le paramètre uCode est un code de clé virtuelle qui est traduit en code d’analyse. S’il s’agit d’un code de clé virtuelle qui ne fait pas la distinction entre les touches gauche et droite, le code d’analyse de gauche est retourné. En l’absence de traduction, la fonction retourne 0.
MAPVK_VSC_TO_VK
1
Le paramètre uCode est un code d’analyse qui est traduit en code de clé virtuelle qui ne fait pas la distinction entre les clés de gauche et de droite. En l’absence de traduction, la fonction retourne 0.
Windows Vista et versions ultérieures : l’octet élevé de la valeur uCode peut contenir 0xe0 ou 0xe1 pour spécifier le code d’analyse étendu.
MAPVK_VK_TO_CHAR
2
Le paramètre uCode est un code de clé virtuelle qui est traduit en une valeur de caractère non rétrogradée dans l’ordre inférieur de la valeur de retour. Les clés mortes (diacritiques) sont indiquées en définissant le bit supérieur de la valeur de retour. En l’absence de traduction, la fonction retourne 0. Consultez la section Notes.
MAPVK_VSC_TO_VK_EX
3
Le paramètre uCode est un code d’analyse qui est traduit en code de clé virtuelle qui fait la distinction entre les clés de gauche et de droite. En l’absence de traduction, la fonction retourne 0.
Windows Vista et versions ultérieures : l’octet élevé de la valeur uCode peut contenir 0xe0 ou 0xe1 pour spécifier le code d’analyse étendu.
MAPVK_VK_TO_VSC_EX
4
Windows Vista et versions ultérieures : Le paramètre uCode est un code de clé virtuelle qui est traduit en code d’analyse. S’il s’agit d’un code de clé virtuelle qui ne fait pas la distinction entre les touches gauche et droite, le code d’analyse de gauche est retourné. Si le code d’analyse est un code d’analyse étendu, l’octet élevé de la valeur retournée contient 0xe0 ou 0xe1 pour spécifier le code d’analyse étendu. En l’absence de traduction, la fonction retourne 0.

[in, out, optional] dwhkl

Type : HKL

Identificateur de paramètres régionaux d’entrée à utiliser pour traduire le code spécifié. 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 retournée

Type : UINT

La valeur de retour est un code d’analyse, un code de clé virtuelle ou une valeur de caractère, selon la valeur de uCode et uMapType. S’il n’y a pas de traduction, la valeur de retour est zéro.

Remarques

L’identificateur de 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 Rédacteur de méthode d’entrée (IME) ou toute autre forme d’entrée.

Une application peut utiliser MapVirtualKeyEx pour traduire les codes d’analyse en constantes de code de clé virtuelle VK_SHIFT, VK_CONTROL et VK_MENU, et vice versa. Ces traductions ne font pas de distinction entre les instances gauche et droite des touches Maj, Ctrl ou Alt.

Une application peut obtenir le code d’analyse correspondant à la instance gauche ou droite de l’une de ces clés en appelant MapVirtualKeyEx avec uCode défini sur l’une des constantes de code de clé virtuelle suivantes :

  • VK_LSHIFT
  • VK_RSHIFT
  • VK_LCONTROL
  • VK_RCONTROL
  • VK_LMENU
  • VK_RMENU

Ces constantes qui distinguent la gauche et la droite sont disponibles pour une application uniquement par le biais des fonctions GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, MapVirtualKey et MapVirtualKeyEx . Pour obtenir la liste complète des codes de clé virtuelle, consultez Codes de clé virtuelle.

En mode MAPVK_VK_TO_CHARcodes de clé virtuelle, « A ». Les touches Z sont traduites en majuscules « A ». Caractères Z quelle que soit la disposition actuelle du clavier. Si vous souhaitez traduire un code de clé virtuelle en caractère correspondant, utilisez la fonction ToAscii .

Notes

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

Voir aussi