[R] PixelSearch dans une boucle.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Tekky
Niveau 1
Niveau 1
Messages : 2
Enregistré le : sam. 15 juin 2019 14:56
Status : Hors ligne

[R] PixelSearch dans une boucle.

#1

Message par Tekky » sam. 15 juin 2019 15:18

Bonjour.

Cela fais un petit moment que j'essaye de trouver une solution.. (Les explications de mon problème arrive après le code).
#include <Misc.au3>
WinActivate ("Chrome")
sleep(3000)
While 1
Local $aCoord = PixelSearch(836, 896, 900, 959, 0x6D4120, 10)
If Not @error Then
MouseClick ("Left", 949, 930) ; Click #1
Sleep (300)
MouseClick ("Left", 705, 302) ; Click #2
Sleep(300)
MouseClick ("Left", 807, 541) ; Click #3
Sleep(300)
MouseClick ("Left", 725, 619) ; Click #4
Sleep (1000)
EndIf
WEnd
Donc, voici mon code. Mon objectif est de trouver un pixel rechercher sur l'écran. Et quand il est trouver, de cliquer sur multiple coordonnées.
Mais quand j’exécute le programme, les cliques sur les coordonnées se font sans même avoir trouver le pixel rechercher.

Dans mon programme, je veut donc une condition (que je n'arrive pas a mettre évidement :lol: ), qui est "Si je trouve tel pixel (en utilisant la couleur, PixelSearch), je déclenche les MouseClick.


Quelqu'un aurait une solution s'il vous plait?

Merci d'avoir pris le temps de me lire :D
Modifié en dernier par Tekky le mar. 18 juin 2019 18:13, modifié 1 fois.

Tekky
Niveau 1
Niveau 1
Messages : 2
Enregistré le : sam. 15 juin 2019 14:56
Status : Hors ligne

Re: [..] PixelSearch dans une boucle.

#2

Message par Tekky » sam. 15 juin 2019 18:59

J'ai trouver la solution après de longues heures d’essais.

Je la met ci-dessous pour ceux que sa intéresse, si quelqu'un trouve que le code n'est pas optimisé... Je prend toute remarque pouvant m'aider.
#include <Misc.au3>
HotKeySet("{ESCAPE}","quitter")
WinActivate ("Chrome")
sleep(50)

While 1
        PixelSearch(870, 904, 894, 921, 0x6D4120, 10, 1)
        If Not @error Then
                MouseClick ("Left", 949, 930) ; Click
                Sleep (300)
                MouseClick ("Left", 705, 302) ; Click
                Sleep (300)
                MouseClick ("Left", 807, 930) ; Click
                Sleep (300)
                MouseClick ("Left", 725, 619) ; Click
                Sleep (1000)
                If @error Then
                        MsgBox ( 1, "Error", "Une erreur est survenue")
                EndIf
        EndIf
WEnd


Func quitter()
   exit
EndFunc

 
Voila... Bonne journée.

Répondre