Page 1 sur 1

[..] Argument de ControlSend pour controler une VMWARE

Posté : dim. 12 janv. 2014 15:31
par popiru
Bonjour, =)
voila j’espère que le titre est explicite mais au cas ou je réexplique en donnant plus de détail =)

Voila alors j'ai un script autoit qui tourne sur mon vrai PC ( mon hôte ) avec des controlsend dedans =)

j'aimerai que c'est controlsend "pointe"/contrôle un fenêtre de VMWARE (active bien sur) mais je n'ai pas encore réussi après plusieurs essais et 2 heures de recherche sur google et différent forum anglais a trouvé une solution :/
(Preuve ce forum anglais ou ce pauvre monsieur na pas eu de réponse :/ http://www.autoitscript.com/forum/topic ... e-machine/)

pour ceux qui ne connaissent pas la fonction controlsend voici le lien de la doc:
http://www.autoitscript.com/autoit3/doc ... olSend.htm

Voici une capture d'image de mon autoitinfo pointant sur ma fenêtre VMWARE.
Image

Deplus je vous donne mon morceau de code du controlSend devant pointer sur ma VM:

Code : Tout sélectionner

dim $DVersion[2] = ["Windows 7 - VMware Workstation","MKSWindow#0"]
        ControlSend($DVersion[0],$DVersion[1],"","{tab}")
 
Si vous avez une idées des argument que je dois mettre dans controlsend, j'en serai très heureux =)
à très bientot

Re: [..] Argument de ControlSend pour controler une VMWARE

Posté : dim. 12 janv. 2014 15:38
par Tlem
Qu'est-ce que vous cherchez à automatiser dans votre VMWare ?
Les commandes de VMWare ou la machine virtuelle en fonction ?

Si vous cherchez à automatiser l'interface de l'OS qui se trouve dans votre machine virtuelle, cela ne fonctionnera pas. VMWare n'affiche qu'une image pas l'interface physique (ID de contrôle, de fenêtre, etc ...).

Edit :
Après, vous pouvez essayer de gérer ça par coordonnées, mais je ne donne pas cher de la longévité de votre script si la résolution change ...

Vous devez lancer le script dans la machine virtuelle. ;)

Re: [..]Argument de ControlSend pour controler une VMWARE

Posté : dim. 12 janv. 2014 15:45
par mikell
:?:

Code : Tout sélectionner

dim $DVersion[2] = ["Windows 7 - VMware Workstation", "MKSEmbedded1"]
ControlSend($DVersion[0], "", $DVersion[1], "{TAB}")
Edit
J'avais pas vu le post de Thierry
Ce code est "académique", construit d'après ce qui figure dans l'image de Au3Info

Re: [..] Argument de ControlSend pour controler une VMWARE

Posté : dim. 12 janv. 2014 18:42
par popiru
J'ai remarquez qu'on ne pouvais avoir les ID des contrôles en effet. et oui si nous faisons par clic sa serais un script instable et éphémère. c'est pour sa que je switch entre les contrôles dans ma vm grâce a TAB.
ensuite via une détection d'image j'en déduis que je suis sur le mon contrôle et bim j'envoie les différentes commande et lettre voulu =)
mikell a écrit :

Code : Tout sélectionner

dim $DVersion[2] = ["Windows 7 - VMware Workstation", "MKSEmbedded1"]
ControlSend($DVersion[0], "", $DVersion[1], "{TAB}")
cela n'as pas fonctionner deplus dans mon tableau $DVersion[2], la deuxieme place contient l'argument text il me semble, cependant tu la mis dans l'argument ControlID de Controlsend, pourquoi?

merci de m'aider messieurs =)

Re: [..] Argument de ControlSend pour controler une VMWARE

Posté : dim. 12 janv. 2014 21:05
par mikell
Ben si on en croit la syntaxe de ControlSend et les renseignements de ton image de Au3Info :

Code : Tout sélectionner

ControlSend("Windows 7 - VMware Workstation", "", "[CLASS:MKSEmbedded; INSTANCE:1]", "{TAB}" )
Mais je peux pas le tester évidemment ^^

Re: [..] Argument de ControlSend pour controler une VMWARE

Posté : dim. 12 janv. 2014 23:48
par popiru
D'ac je vais tester demain je ne suis plus au bureau la mdr =) merci pour ton aide