Sendkeys ??????

Messages postés
39
Date d'inscription
vendredi 30 avril 2004
Statut
Membre
Dernière intervention
7 juin 2013
- - Dernière réponse : wapityyy
Messages postés
2
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
15 juillet 2005
- 15 juil. 2005 à 02:31
j'ouvre une application .exe depui mon programme et je souhaiterai envoyer quelques commandes:

sendkeys "clic gauche de la souris"
sendkeys "selectionner tout"
sendkeys "control C"
sendkeys "control V"

Merci de m'aider c bien gentil car c tres urgent

Vinsus (b)
Afficher la suite 

4 réponses

Messages postés
4
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
6 février 2006
0
Merci
Voici quelques explications concernant la commande SendKeys mais rien n'explique la commande Clic gauche de la souris.
A toute fin utile, je te donne ce que j'ai.

En VBA, il est possible par macro d’envoyer une combinaison de touche à l’ordinateur comme si l’utilisateur venait à ce servir du clavier.

SendKeys, instruction
Envoie une ou plusieurs touches à la fenêtre active comme s'il s'agissait d'une saisie directe au clavier.
Syntaxe
SendKeys string[, wait]
La syntaxe de l'instruction SendKeys comprend les arguments nommés suivants :
Élément Description
string Expression de chaîne indiquant la ou les touches à envoyer.
wait Facultatif. Valeur de type Boolean indiquant le mode d'attente. Si la valeur est False (valeur par défaut), la procédure reprend le contrôle dès que les touches sont envoyées. Si la valeur est True, les touches doivent être traitées avant que la procédure ne reprenne le contrôle.

Remarques
Chaque touche est représentée par un ou plusieurs caractères. Pour indiquer un seul caractère du clavier, utilisez le caractère proprement dit. Par exemple, pour représenter la lettre A, affectez à l'argument string la valeur "A". Si vous souhaitez représenter plusieurs caractères, il vous suffit d'ajouter les caractères les uns à la suite des autres. Par exemple, pour représenter les lettres A, B et C, affectez la valeur "ABC" à l'argument string.
L'instruction SendKeys attribue une signification spéciale au signe plus (+), au signe insertion (^), au signe pourcentage (%), au tilde (~) et aux parenthèses ( ). Pour indiquer l'un de ces caractères, placez-le entre accolades ({}). Par exemple, pour indiquer le signe plus, tapez {+}. Bien que les crochets droits ([ ]) n'aient aucune signification particulière dans l'instruction SendKeys, vous devez les placer eux aussi entre accolades. En effet, dans d'autres applications, ils ont une signification spéciale à prendre en compte en cas d'échange dynamique de données (DDE). Pour indiquer des accolades, utilisez les caractères {{} et {}}.
Pour indiquer des caractères qui n'apparaissent pas à l'écran lorsque vous appuyez sur une touche (comme la touche ENTRÉE ou TAB) et des touches qui représentent des actions plutôt que des caractères, employez les codes suivants :
Key Code
RET.ARR {BACKSPACE}, {BS} ou {BKSP}
ATTN {BREAK}
VERR.MAJ {CAPSLOCK}
SUPPR {DELETE} ou {DEL}
BAS {DOWN}
FIN {END}
ENTRÉE {ENTER}ou ~
ÉCHAP {ESC}
AIDE {HELP}
ORIGINE {HOME}
INSERTION {INSERT} ou {INS}
GAUCHE {LEFT}
VERR.NUM {NUMLOCK}
PG.SUIV {PGDN}
PG.PRÉC {PGUP}
IMPR. ÉCRAN {PRTSC}
DROITE {RIGHT}
ARRÊT.DÉFIL {SCROLLLOCK}
TAB {TAB}
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 indiquer une combinaison de touches avec MAJ, CTRL et ALT, faites précéder le code normal de la touche d'un ou plusieurs codes parmi les suivants :
Touche Code
MAJ +
CTRL ^
ALT %

Pour indiquer que les touches MAJ, CTRL et ALT doivent être maintenues enfoncées pendant que d'autres touches sont utilisées, mettez le code des touches entre parenthèses. Par exemple, pour que la touche MAJ soit maintenue enfoncée pendant que les touches E et C sont utilisées, indiquez "+(EC)". Pour que la touche MAJ soit maintenue enfoncée en même temps que la touche E et que l'utilisateur appuie ensuite sur la touche C sans enfoncer la touche MAJ, utilisez "+EC".
Pour indiquer qu'une touche doit être répétée, employez la forme {touche nombre}, sans oublier d'insérer un espace entre touche et nombre. Par exemple, {LEFT 42} signifie que la touche GAUCHE doit être enfoncée 42 fois et {h 10} qu'il faut appuyer 10 fois sur la touche H.
Note L'instruction SendKeys ne peut envoyer de touches à une application qui n'est pas conçue pour être exécutée dans l'environnement Microsoft Windows. L'instruction Sendkeys ne peut pas non plus envoyer la touche IMP. ÉCRAN {PRTSC} aux applications.

SendKeys, instruction, exemple
Cet exemple utilise la fonction Shell pour exécuter l'application Calculatrice fournie avec Microsoft Windows. Il utilise ensuite l'instruction SendKeys pour envoyer des frappes de touches destinées à ajouter des nombres, puis à quitter la Calculatrice. (Pour afficher l'exemple, collez le code ci-dessous dans une procédure puis exécutez cette dernière. Dans la mesure où l'instruction AppActivate transfère le focus vers l'application Calculatrice, il n'est pas possible d'exécuter le code pas à pas).

Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) ' Exécute l'application Calculatrice.
AppActivate ReturnValue ' Active l'application Calculatrice.
For I = 1 To 100 ' Configure la boucle de comptage.
SendKeys I & "{+}", True ' Envoie des frappes de touches
Next I ' à l'application Calculatrice pour
' ajouter chaque valeur de I.
SendKeys "=", True ' Fait le total général.
SendKeys "%{F4}", True ' Envoie la combinaison ALT+F4 pour fermer
' l'application Calculatrice.

LOLOTE[blue]
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
18
0
Merci
Sendkeys envoie des touches du clavier !!! Aucun clic ne peut être simuler avec !!!!

Christophe R.
Messages postés
3
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
1 juillet 2004
0
Merci
Tu ne peux pas simuler le clic de souris par contre tu peux aller voir ce code source http://www.vbfrance.com/code.aspx?ID=2564
Je pense que ca pourrait t'aider. Il explique comment modifier la resolution de l'écran automatiquement.
Pour arriver au menu "Propirété d'affichage" il utilise cette méthode.

'affiche le menu contextuel de l'ecran
SetCursorPos 0, 0
Call mouse_event(&H8008, 0, 0, 0, 0) '
Call mouse_event(&H8010, 0, 0, 0, 0)
DoEvents

En espérant que ca t'aide

Irradié
Messages postés
2
Date d'inscription
mardi 22 février 2005
Statut
Membre
Dernière intervention
15 juillet 2005
0
Merci
je ne sais pas comment mais il est possible de stimuler le clic d'une
souris, je me souviens être tombé sur un faux-virus qui positionnait la
souris aléatoirement sur l'écran et cliquait sans arrêt. je vais
essayer de le retrouver.