Partager via


MapVirtualKeyExW, fonction (winuser.h)

Convertit (mappe) un code de clé virtuelle en code d’analyse ou 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 MapVirtualKeyExW(
  [in]                UINT uCode,
  [in]                UINT uMapType,
  [in, out, optional] HKL  dwhkl
);

Paramètres

[in] uCode

Type : uiNT

Le code de clé virtuelle ou analyser le code 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 et est traduit en code d’analyse. S’il s’agit d’un code de clé virtuelle qui ne fait pas la distinction entre les clés de gauche et de 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 et est traduit en code de clé virtuelle qui ne fait pas la distinction entre les touches gauche et 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 et est traduit en une valeur de caractère non convertie dans le mot de bas ordre 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. Voir les remarques.
MAPVK_VSC_TO_VK_EX
3
Le paramètre uCode est un code d’analyse et est traduit en code de clé virtuelle qui fait la distinction entre les touches gauche et 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 et est traduit en code d’analyse. S’il s’agit d’un code de clé virtuelle qui ne fait pas la distinction entre les clés de gauche et de 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 de retour

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’existe aucune traduction, la valeur de retour est égale à zéro.

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.

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

Une application peut obtenir le code d’analyse correspondant à l’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 de gauche et de droite sont disponibles pour une application uniquement via les GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, MapVirtualKeyet Fonctions 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, le « A ». Les touches Z sont traduites en majuscules « A ». Caractères Z indépendamment de la disposition actuelle du clavier. Si vous souhaitez traduire un code de clé virtuelle en caractère correspondant, utilisez la fonction ToUnicode.

Note

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