[..] Aide à la création d'un script

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
pyrah
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 06 sept. 2011 13:25
Status : Hors ligne

[..] Aide à la création d'un script

#1

Message par pyrah »

Bonjour,

Voila je vous expose mon problème :

Je débute dans la programmation avec autoit, je suis entrain de créer un script pour automatiser les connexions sur les différent serveur de mon entreprise.

Voici le code :

Code : Tout sélectionner

$pass = "le_mdp"
$input = InputBox("Autoconnect V1", "Entrez le mot de passe pour se connecter au poste dsdgdm137 :")

If ($input <> $pass) Then
    MsgBox(0,"Autoconnect V1", "Mauvais mot de passe !")
Else
    ShellExecute ("vncviewer_original.exe")
    WinWaitActive("[CLASS:#32770]")
    Send("nom_du_serveur")
    MouseClick ( "left", 549, 521 )
    send("{ENTER}")
    WinWaitActive("[CLASS:#32770]")
    MouseClick ( "left", 541, 360 )
    Send("mot_de_passe_du_serveur_vnc")
    send("{ENTER}")
EndIf
Je me suis vite rendus compte que d'utiliser la fonction : MouseClick ( "left", 549, 521 ) était vite erroné avec ce type script car selon la résolution ou la position de la fenêtre tout deviens faux ...

En consultant l'aide de Autoit 3 j'ai trouver cette fonction : ControlClick("My Window", "", "[CLASS:Button; TEXT:Finish; INSTANCE:2]")
Par contre quand je remplace la fonction MouseClick par la controlClick j'obtiens un message d'erreur :
"error line 9 - Incorrect number of parameters in function call"

Pouvez vous m'aidez pour l'élaboration du script ?

Le numéro d'instance est le : 8

Image

merci d'avance
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..]Aide à la création d'un script

#2

Message par Iste »

Avez vous jeté un coup d'oeil a cette page : http://www.ultravnc.fr/install/cmdline.html ?

Si j'ai bien saisi votre probleme, vous n'aurez pas besoin d'AutoIt.
Signez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide à la création d'un script

#3

Message par Tlem »

+1.
Nul besoin d'AutoIt pour utilider UltraVNC et faire une connexion !!!
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
pyrah
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mar. 06 sept. 2011 13:25
Status : Hors ligne

Re: [..] Aide à la création d'un script

#4

Message par pyrah »

Re bonjour,

Je développe un peu plus ma demande.

Ce que je souhaite faire en plus de la connexion c'est l'authentification "windows" qui elle ne peut être automatiser avec les fonctions de UVNC. Je souhaite automatiser un maximum mon travail ayant une grande quantité de serveurs ou je me connecte avec des users et mot de passe différents.. Voila pourquoi je ne souhaite avoir que un seul icone qui feras l'action au lieux de deux (un icone pour lancer UVNC avec les options et un autre icone pour lancer le script de connexion) ...

Voila voila merci d'avance pour vos réponses.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Aide à la création d'un script

#5

Message par Iste »

Et bien au début de votre script placez un shellexecute() qui lancera le client avec les paramètres !
Signez ici
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide à la création d'un script

#6

Message par Tlem »

Effectivement, vu comme ceci c'est un petit peut différent.
Vous pouvez effectivement créer votre propre outil de gestion de connexion VNC, sinon, je vous conseil ceci : http://remotedesktopmanager.com/

Gratuit et performant et compatible avec beaucoup d'autres outils !!! :mrgreen:

Maintenant si vous tenez à le faire en AutoIt, pas de problème. Dressez un cahier des charges de ce que l'outil devra être capable de faire et commencez la construction de l'interface graphique. Pour le reste posez vos questions, on fera de notre mieux.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Baku
Niveau 5
Niveau 5
Messages : 103
Enregistré le : mar. 26 oct. 2010 18:34
Status : Hors ligne

Re: [..] Aide à la création d'un script

#7

Message par Baku »

pyrah a écrit : Je me suis vite rendus compte que d'utiliser la fonction : MouseClick ( "left", 549, 521 ) était vite erroné avec ce type script car selon la résolution ou la position de la fenêtre tout deviens faux ...
On peut toujours bidouiller, avec la fonction WinGetPos par exemple :)
Le milieu de la combobox (là où il faudrait cliquer) se trouve approximativement aux coordonnées (32,105) de la fenêtre "Client UltraVnc [...]".

Avec ca, bah vous avez juste à faire un truc du genre :

Code : Tout sélectionner

$ClientVNCpos = WinGetPos("Client UltraVnc Fr - Connexion 105")
$xClic = $ClientVNCpos[0] + 32
$yClic = $ClientVNCpos[1] + 105
 
Et hop, on a la position relative à l'emplacement de la fenêtre sur l'écran ;)
[color=#0000FF]jchd[/color] a écrit :On est tous le casse-burnes de quelqu'un à un moment ou un autre !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Aide à la création d'un script

#8

Message par mikell »

pyrah a écrit :"error line 9 - Incorrect number of parameters in function call"
ça ressemble à une simple erreur de syntaxe... mais puisqu'il s'agit de cocher un bouton radio, faudrait plutôt essayer

Code : Tout sélectionner

ControlCommand("[CLASS:#32770]", "", "[CLASS:Button; INSTANCE:8]", "Check", "")
De même pour limiter les risques d'erreur vaudrait mieux utiliser un ControlSend ou un ControlSetText au lieu de Send("nom_du_serveur")
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre