UDF > WinAPIEx > System > User Keyboard Input >


_WinAPI_MapVirtualKey

Traduit un code de touche virtuelle en un scan code ou une valeur de caractère, ou traduit un scan code en un code de touche virtuelle

#include <WinAPISys.au3>
_WinAPI_MapVirtualKey ( $iCode, $iType [, $hLocale = 0] )

Paramètres

$iCode Le code de la touche virtuelle ou le scan code de la touche. La façon dont cette valeur est interprétée dépend du paramètre $iType.
$iType La traduction à effectuer. Cette valeur dépend de la valeur du paramètre $iCode et peut prendre l'une des valeurs suivantes:
$MAPVK_VK_TO_CHAR
$MAPVK_VK_TO_VSC
$MAPVK_VK_TO_VSC_EX
$MAPVK_VSC_TO_VK
$MAPVK_VSC_TO_VK_EX
$hLocale [optionnel] L'identifiant des paramètres régionaux d'entrée à utiliser pour traduire le code spécifié.

Valeur de retour

Succès: Retourne le scan code, le code de touche virtuelle, ou la valeur de caractère, en fonction des paramètres ci-dessus.
Échec: Retourne 0.

Remarques

Une application peut utiliser _WinAPI_MapVirtualKey() pour traduire des scan codes en constantes, codes de touche virtuelle $VK_SHIFT, $VK_CONTROL, et $VK_MENU, et vice versa. Ces traductions ne distinguent pas entre les instances gauche et droite des touches SHIFT, CTRL, ou ALT.

Une application peut obtenir le scan code correspondant à l'instance gauche ou à droite de l'une de ces touches en appelant _WinAPI_MapVirtualKey() avec $iCode défini sur l'une des constantes de code de touche virtuelle suivantes:
    $VK_LSHIFT
    $VK_RSHIFT
    $VK_LCONTROL
    $VK_RCONTROL
    $VK_LMENU
    $VK_RMENU

Voir aussi

Consultez MapVirtualKey dans la librairie MSDN.

Exemple

#include <APISysConstants.au3>
#include <WinAPISys.au3>
#include <WinAPIvkeysConstants.au3>

ConsoleWrite('Code virtuel: 0x'& Hex($VK_A) & @CRLF)
ConsoleWrite('Scan code: 0x'& Hex(_WinAPI_MapVirtualKey($VK_A, $MAPVK_VK_TO_VSC)) & @CRLF)