Je suis débutant avec AutoIt, et j'essaie d'écrire un script qui fait 2 cliques a deux endroits différents de l'écran, et ce en boucle. Rien de bien compliqué donc.
Le script est fait pour demander d'abord à l'utilisateur d'effectuer les deux premiers cliques pour que le script enregistre les coordonnées.
Mon problème est que le script se lance, mais plus rien ne se passe quand je fais les deux clics censés enregistrer les positions des clics à répéter...
Voici mon code, quelqu'un saurait-il me dire ce qui ne va pas dedans et où je me suis trompé svp ?
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: Hyruuk
Script Function:
Répétition en boucle de deux clics
#ce ----------------------------------------------------------------------------
#include <Misc.au3>
HotKeySet("{ESC}", "Bye") ;
MsgBox(0, "Alerte !", "Le script est lancé.")
MsgBox(1, "Alerte !", "Cliquez sur OK, puis effectuez les deux clics à répéter.")
Global $pos_vote[2]
Global $pos_back[2]
Global $compteur = 0
Select
Case ($compteur = 0)
While ($pos_vote[0] = 0); boucle finie
If _IsPressed("01") Then; si clique gauche alors :
$pos_vote = MouseGetPos(); on récupère la position de la souris
EndIf;fin de la condition si "if"
WEnd; la boucle se répète
$compteur = $compteur + 1
Case (&compteur = 1)
While ($pos_back[0] = 0); boucle finie
If _IsPressed("01") Then; si clique gauche alors :
$pos_back = MouseGetPos(); on récupère la position de la souris
EndIf;fin de la condition si "if"
WEnd; la boucle se répète
$compteur = $compteur + 1
Case ($compteur = 2)
MsgBox(1, "Alerte !", "Lancer la boucle ? Appuyez ensuite sur Esc pour en stopper l'éxecution.")
While 1
MouseClick ( "left" , $pos_vote[0], $pos_vote[1] )
Sleep (2000)
MouseClick ( "left" , $pos_back[0], $pos_back[1] )
Sleep (2000)
WEnd
EndSelect
Func Bye()
Exit 0
EndFunc ;==>Bye
Merci d'avance !
Hyruuk.
Modifié en dernier par Hyruuk le sam. 01 oct. 2011 18:18, modifié 1 fois.
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.6.1
Author: Hyruuk
Script Function:
Répétition en boucle de deux clics
#ce ----------------------------------------------------------------------------
#include <Misc.au3>
HotKeySet("{ESC}", "Bye") ;
MsgBox(64, "Alerte !", "Le script est lancé.")
MsgBox(64, "Alerte !", "attention, préparez-vous à effectuer les deux clics à répéter.")
While 1; boucle finie
If _IsPressed("01") Then; si clique gauche alors :
$pos_vote = MouseGetPos(); on récupère la position de la souris
ExitLoop
EndIf;fin de la condition si "if"
WEnd; la boucle se répète
While 1; boucle finie
If _IsPressed("01") Then; si clique gauche alors :
$pos_back = MouseGetPos(); on récupère la position de la souris
ExitLoop
EndIf;fin de la condition si "if"
WEnd; la boucle se répète
MsgBox(64, "Alerte !", "La boucle va se lancer. Appuyez ensuite sur Esc pour en sortir")
While 1
MouseClick ( "left" , $pos_vote[0], $pos_vote[1] )
Sleep (2000)
MouseClick ( "left" , $pos_back[0], $pos_back[1] )
Sleep (2000)
WEnd
Func Bye()
Exit
EndFunc ;==>Bye
Ca fonctionne déjà mieux que mon code, la détection des cliques de la souris se lance cette fois ! Mais il ne me laisse cliquer qu'une fois avant de passer à la dernière boucle. Que pourrais-je rajouter entre mes deux détections de clics pour qu'il ne saute pas la deuxième ? =/
Merci =)
Edit : J'ai trouvé la solution ! J'ai ajouté un Sleep(2000) entre les deux boucles de détection de clics et ca fonctionne ! =)
Merci beaucoup.