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] )
$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é. |
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. |
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
Consultez MapVirtualKey dans la librairie MSDN.
#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)