[R] Double click

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Mandracord
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 03 juil. 2009 01:23
Status : Hors ligne

[R] Double click

#1

Message par Mandracord »

Bonjour tout le monde, je suis un gros débutant sur autoit et j'aimerai qu'on me crée un script avec le doubleclick, avec le pixelsearch et le lancement d'une application pour que je vois un peu comment l'utiliser et comment sa marche. évidemment avant de vous le demander j'ai beaucoup cherché par moi même.

P.S. : mon but serait de faire un script pour me connecter automatiquement sur une application.
Modifié en dernier par ani le sam. 04 juil. 2009 06:22, modifié 2 fois.
Raison : Ajout de la balise [..] dans le titre
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: Double click

#2

Message par jbnh »

Bonjour,

Merci de premièrement lire les règles de présentation d'un message et d'éditer votre titre.

Aussi, je doute que vous ayez cherché, je cite : "beaucoup", par vous même. Vos questions sont "de base" et des exemples pour chacune de vos demandes figurent dans la documentation même d'autoit.

Il existe par ailleurs la fonction "rechercher" du forum.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Mandracord
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 03 juil. 2009 01:23
Status : Hors ligne

Re: Double click

#3

Message par Mandracord »

En faite j'ai trouvé pour le double clique, le lancement de l'application (se matin même) mais pour la reconnaissance pixel j'ai trouvé la commande mais je n'arrive pas a la faire fonctionner je peux vous montrez mon code

Code : Tout sélectionner

Run("application") ; lance l'application
WinWaitActive ( "application" ) ; attend le lancement de mon application
 Sleep ( 5000 )
Send ("{TAB}")
Send ("{TAB}")
 Send ("{^a}")
 Send ("compte") ; le compte
 Send ("{TAB}")
 send ("mdp") ; le mot de passe
 send ( "{ENTER}" )
 Sleep (2000)
 $coord = PixelSearch( 0-250, 0-250, 20, 300, 0x50c159 ) ; ce qui doit être la reconnaissance pixel
 If Not @error Then
     MouseMove (x=$coord, y=$coord, 2)
     MouseClick("left", , , 2, 2)
    EndIf
 
Et désolé pour le titre :s puis la recherche je l'ai utiliser mais en aucun cas j'ai trouvé le sujet qui aurait pu m'aider :s
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: Double click

#4

Message par Iste »

c'est marrant mais ca ressemble a un bot.

Sinon, heu 0-250 ?? Tu veux chercher des pixel hors de ton ecran ?
j'espere que non ^^
Tu dois indiquer les coordonnée du rectangle de recherche comme suit ; left, top, right, bottom. Donc la coordoné X du coté gauche du cadre, la coordonée Y du haut, la X de droite et la Y du bas.

Apres, si tu veux faire une recherche continue, il faut placer le tout dans une boucle (While)
Signez ici
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: Double click

#5

Message par orax »

Je ne comprends pas non plus le "0-250".
J'ajoute qu'il y a aussi 2 erreurs :
- à MouseMove puisque $coord est un tableau (array) donc il faut utiliser les crochets ("[ ]") pour accéder à ses éléments ;
- et à MouseClick("left", , , 2, 2), si vous souhaitez mettre une valeur nulle, vous devez mettre des guillemets ("" ou '') entre les virgules, par exemple : MouseClick("left", "", "", 2, 2)

Code : Tout sélectionner

$coord = PixelSearch(0, 0, 20, 300, 0x50c159) ; ce qui doit être la reconnaissance pixel
If Not @error Then
    MouseClick("left", $coord[0], $coord[1], 1, 2)
EndIf
Et au lieu d'utiliser send() vous pourriez peut-être utiliser ControlSend() mais bon... si ça marche comme ça, vous pouvez laisser comme ça.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Mandracord
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 03 juil. 2009 01:23
Status : Hors ligne

Re: Double click

#6

Message par Mandracord »

Alors j'ai pris compte des changement que vous m'avez conseillés par contre j'ai pas compris l'histoire du 0-250 parce que moi quand j'ai regardé l'aide elle indiqué la portée mais pas d'unité précise et pour les coordonné j'utilise autoit window info.

Je vous redonnes le code parce que maintenant il m'affiche :
line -1 :

Error : error in expression

je ne sais pas se que s'est...

Code : Tout sélectionner

Run("C:\Program Files\Dofus\UpLauncher.exe")
WinWaitActive ( "application" )
Sleep ( 5000 )
Send ("{TAB}")
Send ("{TAB}")
 Send ("{^a}")
 Send ("compte")
 Send ("{TAB}")
 send ("mdp")
 send ( "{ENTER}" )
 Sleep (2000)
 $coord = PixelSearch( 0, 1023, 20, 300, 0x50c159 )

While ; la boucle
 If Not @error Then
     MouseClick("left", $coord[0], $coord[1], 1, 2)
EndIf
WEnd
 
Vous avez dit que s'est un bot mais je dirais plutot un automate car pour chacun de mes comptes je vais faire un script qui me les lancera automatiquement :D sa me simplifiera la vie (les bot j'aime pas ça sa me degoute quand j'envoie sa ruine l'esprit des jeux)

P.S. : la recherche pixel c'est pour trouver le serveur sur lequel je me connecte
Modifié en dernier par Mandracord le ven. 03 juil. 2009 19:48, modifié 1 fois.
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: Double click

#7

Message par Iste »

Mandracord a écrit :parce que moi quand j'ai regardé l'aide elle indiqué la portée mais pas d'unité précise
Ben en pixel :o ca peut etre que ca voyons !
Enfin bref, erreur ligne -1 c'est qu'il n'y a pas d'info de ligne, cest ce qui arrive avec les scripts compilés.
Ca doit surement venir de While. C'est comme une condition, on dit "While 'condition'", en général "While 1" pour une boucle infini
ps : lire rapidement tes mp
Signez ici
Mandracord
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 03 juil. 2009 01:23
Status : Hors ligne

Re: Double click

#8

Message par Mandracord »

Bon j'ai modifier j'ai mis while 1 j'ai fermé la boucle mais la reconnaissance pixel ne fonctionne toujours pas :x si vous voyez pourquoi dite le moi, mon but est de faire cliquer sur le pixel trouvé

Code : Tout sélectionner

Run("C:\Program Files\Dofus\UpLauncher.exe")
WinWaitActive ( "application" )
Sleep ( 5000 )
Send ("{TAB}")
Send ("{TAB}")
 Send ("{^a}")
 Send ("compte")
 Send ("{TAB}")
 send ("mdr")
 send ( "{ENTER}" )
 Sleep (2000)
 $coord = PixelSearch( 0, 1023, 20, 300, 0x50c159 )

While 1 ; la boucle
 If Not @error Then
     MouseClick("left", $coord[0], $coord[1], 1, 2)
EndIf
WEnd
 
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: Double click

#9

Message par Iste »

le PixelSearch doit se trouver dans la boucle ! sinon il ne s'effectue qu'une seul foi, pis bon... bref

Code : Tout sélectionner

While 1 ; la boucle
    $coord = PixelSearch( 0, 1023, 20, 300, 0x50c159 )
    If Not @error Then ExitLoop
WEnd


MouseClick("left", $coord[0], $coord[1], 1, 2)
voici une boucle qui effectue en permanence des PixelSearch, et qui se stop quand elle trouve.
Ensuite on clic.
Signez ici
Mandracord
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 03 juil. 2009 01:23
Status : Hors ligne

Re: Double click

#10

Message par Mandracord »

Bon je pense que cela vient de moi car le click ne s'effectue toujours pas

Code : Tout sélectionner

Run("C:\Program Files\Dofus\UpLauncher.exe")
WinWaitActive ( "application" )
Sleep ( 5000 )
Send ("{TAB}")
Send ("{TAB}")
 Send ("{^a}")
 Send ("compte")
 Send ("{TAB}")
 send ("mdp")
 send ( "{ENTER}" )
 Sleep (2000)
 While 1 ; la boucle
    $coord = PixelSearch( 0, 1023, 20, 300, 0x50c159 )
    If Not @error Then ExitLoop
WEnd

MouseClick("left", $coord[0], $coord[1], 1, 500)
(j'ai changé la vitesse de click pour voir si c'etait sa)

Je pense que j'essaie une dernière fois puis je vais chercher une autre solution que le pixelsearch, peut être que ma couleur est fausse :O
Modifié en dernier par Mandracord le ven. 03 juil. 2009 20:51, modifié 1 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: Double click

#11

Message par orax »

A mon avis, il y a aussi un autre problème. D'après les coordonnées que vous avez rentrées je ne crois pas que ça forme un rectangle. Image
PixelSearch(gauche, haut, droite, bas, ...)
Modifié en dernier par orax le ven. 03 juil. 2009 20:53, modifié 1 fois.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Mandracord
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 03 juil. 2009 01:23
Status : Hors ligne

Re: Double click

#12

Message par Mandracord »

Alors j'ai mesuré l'ecran avec l'info window autoIt pour le haut bas je ne sais pas je vais verifié....

Code : Tout sélectionner

Run("C:\Program Files\Dofus\UpLauncher.exe")
WinWaitActive ( "application" )
Sleep ( 5000 )
Send ("{TAB}")
Send ("{TAB}")
 Send ("{^a}")
 Send ("compte")
 Send ("{TAB}")
 send ("mdp")
 send ( "{ENTER}" )
 Sleep (2000)
 While 1 ; la boucle
    $coord = PixelSearch( 0, 432, 1023, 767, 0x50c159 )
    If Not @error Then ExitLoop
WEnd

MouseClick("left", $coord[0], $coord[1], 1, 500)
 
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: Double click

#13

Message par orax »

Je dis ça puisque le "haut" a une coordonnée plus grande que le "bas" Image donc ça cloche.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Mandracord
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 03 juil. 2009 01:23
Status : Hors ligne

Re: Double click

#14

Message par Mandracord »

Peut etre que je relève mal, pour le haut jai pris celui de gauche et le bas celui de droite comme chiffre, c'est le window info de autoit que j'utilise (se que j'ai mis sont l'extrême gauche, haut, droite et bas)
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: Double click

#15

Message par orax »

Je vais dans l'onglet "Mouse" .
Ensuite je relève la position en haut à gauche de la fenêtre, ça m'indique par exemple : "Position 100,150".
Je relève ensuite la position en bas à droite, ça m'indique par exemple : "Position 900,750".
Si je ne dis pas de bêtises ça donne PixelSearch(100,150,900,750, ...).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Mandracord
Niveau 2
Niveau 2
Messages : 19
Enregistré le : ven. 03 juil. 2009 01:23
Status : Hors ligne

Re: [R] Double click

#16

Message par Mandracord »

Merci j'ai fini mon projet a abouti, merci de votre aide et du temps que vous avez consacré, sa a été dur mais le defi que je me suis lancé je l'ai réussi je vais pouvoir viser plus gros comme un logiciel de rangement automatique des image :D encore merci
Répondre