No0b > La touche CTRL dans un SendKeys ?!

Messages postés
47
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
23 mars 2004
- - Dernière réponse : cs_algori
Messages postés
870
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
- 30 janv. 2005 à 20:08
bonsoir,

wala je débute complètement et je ne sais po comment simuler les touche CTRL + F4 :\

Pour ALT + F4 c'est SendKeys "%{F4}" il me semble mais pour CTRL ??

merci

@$p3ct
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
1
Merci
Ctrl + F4 c'est SendKeys "^{F4}"
Maj + F4 c'est SendKeys "+{F4}"

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
24
1
Merci
Bonjour,

Ci-dessous, la doc sur SendKeys.

Bonjour,

Windows Script Host

SendKeys, méthode
Voir aussi
WshShell, objet | Run, objet
Envoie une ou plusieurs séquences de frappes à la fenêtre active (comme si elles avaient été tapées au clavier).

object.SendKeys(string)
Arguments
object
Objet WshShell.
string
Valeur de chaîne indiquant la ou les séquences de frappes que vous voulez envoyer.
Notes
Utilisez la méthode SendKeys pour envoyer des séquences de frappes aux applications qui ne disposent pas d'une interface automatique. La plupart des caractères du clavier sont représentés par une seule séquence de frappe. Certains de ces caractères sont constitués d'une combinaison de frappes (CTRL+MAJ+ORIGINE, par exemple). Pour envoyer un seul caractère de clavier, envoyez le caractère lui-même comme argument chaîne. Par exemple, pour envoyer la lettre x, envoyez l'argument chaîne "x".

Remarque Pour envoyer un espace, envoyez la chaîne " ".
Vous pouvez utiliser SendKeys pour envoyer plusieurs frappes en même temps. Pour cela, créez un argument de chaîne composé qui représente une séquence de frappes, en ajoutant chaque frappe de la séquence à celle qui la précède. Par exemple, pour envoyer les frappes a, b et c, envoyez l'argument chaîne "abc". La méthode SendKeys se sert de certains caractères comme modificateurs de caractères (au lieu d'utiliser leurs valeurs-police). Ce jeu de caractères spéciaux comprend des parenthèses, des crochets, des accolades et le :

signe plus "+"
signe caret "^"
signe pourcentage "%"
signe tilde "~"
Envoyez ces caractères en les mettant entre accolades "{}". Par exemple, pour envoyer le signe plus, envoyez l'argument chaîne "{+}". Les crochets "[ ]" n'ont pas de signification particulière lorsqu'ils sont utilisés avec SendKeys, mais vous devez les mettre entre accolades pour les applications qui leur donnent un sens particulier (pour DDE, par exemple).

Pour envoyer des crochets, envoyez l'argument chaîne "{[}" pour le crochet gauche et l'argument "{]}" pour le droit.
Pour envoyer des accolades, envoyez l'argument "{{}" pour l'accolade gauche et "{}}" pour la droite.
Certaines séquences de frappe ne génèrent pas de caractères (comme ENTRÉE et TAB). Certaines séquences de frappes représentent des actions (comme RET. ARR. et PAUSE). Pour envoyer des séquences de frappes de ce genre, envoyez les arguments indiqués dans le tableau suivant :

Touche Argument
RET. ARR. {BACKSPACE}, {BS}, or {BKSP}
PAUSE {BREAK}
VERROUILLAGE MAJUSCULE {CAPSLOCK}
SUPPR {DELETE} or {DEL}
FLÈCHE VERS LE BAS {DOWN}
FIN {END}
ENTRÉE {ENTER} or ~
ÉCHAP {ESC}
AIDE {HELP}
ORIGINE {HOME}
INSÈR {INSERT} ou {INS}
FLÈCHE GAUCHE {LEFT}
VERR NUM {NUMLOCK}
PAGE BAS {PGDN}
PAGE HAUT {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 envoyer des caractères du clavier comprenant une séquence de frappes classique combinée avec MAJ, CTRL ou ALT, créez un argument de chaîne composé représentant la combinaison de frappes. Pour cela, faites précéder la séquence classique par un ou plusieurs des caractères spéciaux suivants :

Touche Caractère spécial
MAJ +
CTRL ^
ALT %

Remarque : Lorsqu'ils sont utilisés de cette façon, ces caractères spéciaux ne sont pas compris entre accolades.
Pour spécifier qu'une combinaison de MAJ, CTRL et ALT doit être enfoncée pendant que l'on appuie sur d'autres touches, créez un argument chaîne composé avec les frappes modifiées entre parenthèses. Par exemple, pour envoyer la combinaison de frappes indiquant que la touche MAJ est enfoncée tout en appuyant sur :

e et c, envoyez l'argument chaîne "+(ec)".
e, suivi d'un seul c (sans MAJ), envoyez l'argument chaîne "+ec".
Vous pouvez utiliser la méthode SendKeys pour envoyer un schéma de frappes comprenant une seule frappe répétée plusieurs fois sur une ligne. Pour cela, créez un argument chaîne composé qui spécifie la frappe àrépéter, suivi du nombre de fois que vous voulez la répéter. Pour cela, utilisez un argument chaîne composé de la forme {frappe nombre}. Par exemple, pour envoyer la lettre "x" dix fois, envoyez l'argument chaîne "{x 10}". Assurez-vous d'inclure un espace entre la frappe et le nombre.

Remarque : Le seul modèle de frappe qu'il est possible d'envoyer est le type comprenant une frappe unique répétée plusieurs fois. Par exemple, vous pouvez envoyer "x" dix fois, mais vous ne pouvez pas en faire autant pour "Ctrl+x".
Remarque : Vous ne pouvez pas envoyer la clé IMPR ÉCRAN {PRTSC} vers une application.
Exemple
L'exemple suivant montre l'utilisation d'un fichier .wsf unique pour deux tâches dans plusieurs langages de script (VBScript et JScript). Chaque tâche exécute la calculatrice de Windows et envoie une séquence de frappes pour exécuter un calcul simple.

<job id="vbs">
<script language="VBScript">
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "calc"
WScript.Sleep 100
WshShell.AppActivate "Calculatrice"
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="JScript">
var WshShell = WScript.CreateObject("WScript.Shell");
WshShell.Run("calc");
WScript.Sleep(100);
WshShell.AppActivate("Calculatrice");
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>

Voir aussi
WshShell, objet | Run, objet

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Messages postés
47
Date d'inscription
mercredi 9 octobre 2002
Statut
Membre
Dernière intervention
23 mars 2004
1
1
Merci
ha dacord merci bien ;)

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Messages postés
119
Date d'inscription
jeudi 17 juin 2004
Statut
Membre
Dernière intervention
3 novembre 2007
1
1
Merci
wow, merci pour cette reponse qui mes fort utile

Celui qui excelle ne discute pas, il maîtrise sa science et se tait.

Lao-Tseu
Extrait de Tao Te King

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Messages postés
870
Date d'inscription
dimanche 26 décembre 2004
Statut
Membre
Dernière intervention
26 février 2008
1
1
Merci
Aah ! Super !

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci