Page 1 sur 1

[R] Controler un logiciel via un port ?

Posté : mar. 25 nov. 2008 21:15
par Yoyo86220
Bonsoir,

Donc voilà j'ai un logiciel ou je ne peux utiliser aucune de ces fonctions:
-ControlClick
-ControlSend ou autre...
Donc je ne peu pas l'automatiser...

mais cette application dispose d'une checkbox ou quand on la coche on peu entré un port de control et password de control... et j'ai déjà utilisé un autre programme qui utilise ce procédé pour contrôler ce programme... es que quelqu'un à une petite idée et es que ceci reste possible avec AutoIt?

Re: [..] Controler un logiciel via un port?

Posté : mar. 25 nov. 2008 22:59
par Tlem
A première vue je dirais que c'est possible.
AutoIt saura envoyer des commandes par un port de com, mais encore faut-il connaitre les commandes disponible et sous quelle forme il faut les envoyées.
Il restera votre problème de la case à cochée et le login.

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 00:09
par Yoyo86220
Youhou j'ai trouvé donc je dis la solution pour toutes les personnes qui en auront besoin

Il faut aller dans Démarrer>Exécuter>(tapez)telnet 127.0.0.1 PORT-DU-LOGICIEL>(dans la fenêtre CMD qui va apparaitre tapez le MDP) MDP>(puis pour avoir toutes les commandes dispo tapez) /? (puis ENTRER)

Petite autre question...:
Comment peut-on utilisé dans commande CMD sans quel soit vu par l'utilisateur? car dans ce cas c'est loin d'être très Design...

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 00:37
par Tlem
Ouvrez votre interpréteur de commande en mode caché (@SW_HIDE). ;)

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 07:36
par L4crymal
Ca existe sur Vista ? car je ne trouve pas telnet ...

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 11:09
par Tlem
En tapant simplement : vista telnet dans Google, j'ai ce premier lien qui est sortit : http://www.commentcamarche.net/faq/suje ... sous-vista

Essayez d'utiliser un peut plus les outils qui sont à votre disposition. :evil:

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 16:53
par Yoyo86220
Re-Bonjour,

Donc il y a un truc que je ne comprends pas bien voici mon problème:

Run(@ComSpec&" /c "&'telnet 127.0.0.1 3200',"", @SW_HIDE)

voilà ma boite de dialog Telnet est établi mais maintenant comment je fais pour envoyer des commande dans cette boite de dialog ? :s

somme nous obligé de passer par ControlSend ?

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 17:38
par Tlem
Ceci devrait vous donner une idée de comment inter-agir avec une fenêtre de commande (qu'elle soit visible ou non) : http://www.autoitscript.com/forum/index ... t&p=379346

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 18:59
par Yoyo86220
Donc logiquement le code suivant devrai marcher mais pour moi CMD s'ouvre bien mais rien se passe je comprends pas pourquoi :s

je mis suis surement mal prie...?
► Afficher le texte

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 20:42
par Tlem
Ce n'est pas CMD qu'il faut lancer, mais telnet ...

Re: [..] Controler un logiciel via un port?

Posté : mer. 26 nov. 2008 21:20
par Yoyo86220
oui je suis tout a fait d'accord je viens de le faire mais dans tous les cas sa reviens au mm car le script m'ouvre bien la boite de "dialog" Telnet mais rien ne s'écrie à l'intérieur rien du tout

Voici les différente combinaison que j'ai essayé:
► Afficher le texte

Re: [..] Controler un logiciel via un port?

Posté : jeu. 27 nov. 2008 18:54
par Yoyo86220
Personne à d'explication pour mon problème?

Svp je voudrai juste savoir si le problème vient de moi ou de mon PC si j'ai fais quelque chose de travers ou pas... :s

merci de m'aider.

Re: [..] Controler un logiciel via un port?

Posté : jeu. 27 nov. 2008 21:25
par Yoyo86220
Bon à mon avis personne doit savoir :s

voilà quand je rajoute cette fonction "$STDIN_CHILD" la fenêtre telnet s'ouvre et se ferme aussi tôt ... quand elle n'y est pas la feunetre reste ouverte mais rien ne s'écrie dans la fenêtre...

SVP j'ai vraiment besoin d'aide... :(

si quelqu'un peu essayer, et me dire si ça marche chez lui? un truc simple du style:

Code : Tout sélectionner

Local $foo = Run("telnet.exe", @SystemDir, @SW_MAXIMIZE, $STDIN_CHILD)
Local $line

StdinWrite($foo,"o 127.0.0.1 "& @CRLF)
StdinWrite($foo)
$line = StdoutRead($foo)
MsgBox(0, "STDOUT read:", $line)

Re: [..] Controler un logiciel via un port?

Posté : jeu. 27 nov. 2008 21:38
par Tlem
Je trouve que vous ne cherchez pas beaucoup ...
Si cette méthode ne fonctionne pas, essayez en une autre. :P

Code : Tout sélectionner

$ip = '127.0.0.1'
$TelnetWin = 'Telnet ' & $ip
$userlogin = 'login'
$passlogin = 'passwd'

$pid = Run(@ComSpec & " /k " & $TelnetWin, "", @SW_SHOW)
If @error Then Exit MsgBox(16, "Erreur PID", $pid)

_MyCmdToTelnet('o', '800') ; Commande pour le telnet de XP qui demande une confirmation
_MyCmdToTelnet($userlogin, '500')
_MyCmdToTelnet($passlogin, '1000')
_MyCmdToTelnet('DIR', '1500')
_MyCmdToTelnet('CD ..', '1500')
_MyCmdToTelnet('DIR', '1500')
_MyCmdToTelnet('commande_non_reconnue', '4500')
_MyCmdToTelnet('EXIT', '500')

WinClose('Telnet ' & $ip)

Func _MyCmdToTelnet($Cmd, $Pause)
    WinWaitActive($TelnetWin)
    ControlSend($TelnetWin, "", "", $Cmd & '{ENTER}')
    Sleep($Pause)
EndFunc   ;==>_MyCmdToTelnet
Il n'y à bien sur aucune interactivité, mais c'est un début.
Si vous voulez contrôler ce qui ce passe, se sera un peut plus compliqué car il faudra utiliser le paramètre -f pour créer un fichier journal, et annalyser celui-ci pendant l'envois des commandes.

Voilà, le chemin est tracé, à vous de faire le reste.

Re: [..] Controler un logiciel via un port?

Posté : jeu. 27 nov. 2008 22:02
par Yoyo86220
:s

je viens de trouver cette solution qui marche :

Code : Tout sélectionner

TCPStartup()
   
Dim $router_IP = "127.0.0.1"
Dim $port = "3200"
   
Dim $ConnectedSocket = -1
$ConnectedSocket = TCPConnect($router_IP, $port)
TCPSend($ConnectedSocket, "3200" & @CRLF)
PS: je cherche énormément depuis 2 jours j'ai fouillé le forum anglais et je viens juste de trouver ça j'étais parti sur une mauvaise voix voilà tout dsl...