MapVirtualKeyExA, 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 MapVirtualKeyExA(
[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. |
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. |
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 ToAscii.
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
- GetAsyncKeyState
- GetKeyState
- GetKeyboardState
- GetSystemMetrics
- MapVirtualKey
- SetKeyboardState
- LoadKeyboardLayout
- d’entrée clavier
- Vue d’ensemble de l’entrée clavier