SendKeys, méthode

Envoie une ou plusieurs entrées clavier vers la fenêtre active comme si ces dernières étaient saisies depuis le clavier.

SendKeys string

Arguments

string

Requis. Expression de chaîne spécifiant les entrées clavier à envoyer.

Notes

Chaque touche est représentée par un ou plusieurs caractères. Pour spécifier un caractère unique, utilisez le caractère correspondant. Par exemple, pour représenter la lettre A, utilisez la chaîne "A". Pour représenter plusieurs caractères, entrez les caractères les uns à la suite des autres. Pour représenter les lettres A, B et C, utilisez la chaîne "ABC".
Les signes plus (+), circonflexe (^) et pourcentage (%), tilde (~), et parenthèses ( ) possèdent des significations spéciales pour SendKeys. Pour spécifier l'un de ces caractères, incluez-le entre des accolades ({}). Par exemple, pour spécifier le signe plus, utilisez {+}. Les crochets ([ ]) ne possèdent pas de signification particulière pour SendKeys, mais vous devez tout de même les inclure entre des accolades. Dans d'autres applications, les crochets possèdent une signification spéciale pouvant être utilisée lors d'un échange dynamique de données (DDE). Pour spécifier des accolades, utilisez {{} et {}}.

Pour spécifier des caractères qui se sont pas affichés lorsque vous appuyez sur une touche, tels que ENTRÉE ou TAB, ainsi que des touches qui représentent des actions et non des caractères, utilisez les codes affichés dans le tableau suivant :

Touche Code
ESPACE ARRIÈRE {BACKSPACE}, {BS}, ou {BKSP}
ARRÊT DÉFIL {BREAK}
VERR. MAJ {CAPSLOCK}
SUPPR ou SUPPRIMER {DELETE} ou {DEL}
FLÈCHE VERS LE BAS {DOWN}
FIN {END}
ENTRÉE {ENTER}ou ~
ÉCHAP {ESC}
AIDE {HELP}
ORIGINE {HOME}
INS OU INSER {INSERT} ou {INS}
FLÈCHE GAUCHE {LEFT}
VER NUM {NUMLOCK}
PAGE SUIV {PGDN}
PAGE PRÉC {PGUP}
IMPR ÉCRAN {PRTSC}
FLÈCHE DROITE {RIGHT}
ARRÊT DÉFIL {SCROLLLOCK}
TAB {TAB}
FLÈCHE HAUT {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}

Pour spécifier des combinaisons de touches avec les touches MAJ, CTRL et ALT, faites précéder le code de la touche par un ou plusieurs des codes suivants :

Touche Code
MAJ +
CTRL ^
ALT %

Pour spécifier une combinaison dans laquelle la touche MAJ, CTRL et ALT doit être maintenue enfoncée alors que vous appuyez sur d'autres touches, incluez le code de ces touches entre parenthèses. Par exemple, pour indiquer que la touche MAJ doit être enfoncée alors que vous appuyez sur les touches E et C, utilisez "+(EC)". Pour spécifier que la touche MAJ doit être enfoncée alors que vous appuyez sur la touche E, suivi de la touche C sans que la touche MAJ ne soit enfoncée, utilisez "+EC".

Pour indiquer la répétition de touches, utilisez la forme {touche nombre}. Veillez à placer un espace entre la touche et le nombre de fois que cette touche doit être entrée. Par exemple, {LEFT 42} signifie l'activation de la touche FLÈCHE GAUCHE 42 fois. {h 10} indique que la touche H doit être appuyée 10 fois.

Remarque   Vous ne pouvez pas utiliser SendKeys pour envoyer des entrées clavier vers une application qui n'est pas conçue pour s'exécuter sous Microsoft Windows. Sendkeys ne peut pas envoyer la touche IMPR ÉCRAN {PRTSC} vers une application.

Exemple

L'exemple suivant illustre l'utilisation d'un fichier .wsf unique pour deux tâches dans différents langages de script (VBScript et JScript). La fonctionnalité de ces deux tâches est identique : chacune démarre la calculatrice de Windows et effectue une série d'opérations simples : 

<package>

<job id="vbs">
<script language="vbscript">
   set WshShell = WScript.CreateObject("WScript.Shell")
   WshShell.Run "calc"
   WScript.Sleep 100
   WshShell.AppActivate "Calculator"
   WScript.Sleep 100
   WshShell.SendKeys "1{+}"
   WScript.Sleep 500
   WshShell.SendKeys "2"
   WScript.Sleep 500
   WshShell.SendKeys "~"
   WScript.Sleep 500
   WshShell.SendKeys "*3"
   WScript.Sleep 500
   WshShell.SendKeys "~"
   WScript.Sleep 2500
</script>
</job>

<job id="js">
<script language="javascript">
   var WshShell = new ActiveXObject("WScript.Shell");
   WshShell.Run("calc");
   WScript.Sleep(100);
   WshShell.AppActivate("Calculator");
   WScript.Sleep(100);
   WshShell.SendKeys("1{+}");
   WScript.Sleep(500);
   WshShell.SendKeys("2");
   WScript.Sleep(500);
   WshShell.SendKeys("~");
   WScript.Sleep(500);
   WshShell.SendKeys("*3");
   WScript.Sleep(500);
   WshShell.SendKeys("~");
   WScript.Sleep(2500);
</script>
</job>

</package>

Pour plus d'informations, reportez-vous à la rubrique Exécution de vos scripts.

Voir aussi

Application : WshShell, objet