Page 1 sur 1
[V] Unknown function name
Posté : ven. 22 mai 2015 02:20
par TestAutoit
Bonsoir,
Je cherche à faire un script capable de juste cliquer toutes les 5 secondes dans une fenêtre précise
J'ai donc ce code la :
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 436, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 248, 168, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
While 1
ToolTip("test : ça commence", 1150, 535)
CLIQUE()
Wend
EndSwitch
Wend
Func CLIQUE()
While 1
Sleep(3000)
ControlSend("[CLASS:ApolloRuntimeContentWindow]", "", "MouseClick("left" [, 0, 0 [, clicks = 1 [, speed = 10]]]")
Sleep(5000) ; Pause 5 secondes
Wend
EndFunc
Après avoir mangé énormément de problème de syntaxe je suis maintenant bloqué à l'erreur sur la fonction ligne 30 :
► Afficher le texte
Code : Tout sélectionner
ControlSend("[CLASS:ApolloRuntimeContentWindow]", "", "MouseClick("left" [, 0, 0 [, clicks = 1 [, speed = 10]]]")
Je cherché un peu partout mais je trouve rien ...
Si quelqu'un est capable de m'aider,
Cordialement,
Re: [..] Unknown function name
Posté : ven. 22 mai 2015 09:22
par TomAijerrie
Résumé de ton code :
Code : Tout sélectionner
;création de la gui
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
; lancement d'une boucle infinie qui lance une fonction
EndSwitch
Wend
Func CLIQUE()
While 1
;pause de 3 sec
;fonction incorrect
;nouvelle pause de 5 sec
Wend;ces trois lignes en boucle en boucle
EndFunc
Il s’arrête quand ton programme ?
J'ai un autre code à te proposer mais la fenêtre que tu veux contrôler est celle d'un jeu (Adobe Air), et les bots sont interdis ici.
Re: [..] Unknown function name
Posté : ven. 22 mai 2015 11:31
par jguinch
Voir la doc de ControlClick
Re: [..] Unknown function name
Posté : ven. 22 mai 2015 12:16
par TomAijerrie
Il y a cette solution :
► Afficher le texte
Code : Tout sélectionner
Global $decalHori = 250 + 6;position horizontale du clic relative à la GUI
Global $decalVert = 170 + 30; position verticale
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 436, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 248, 168, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
AdlibUnRegister()
Exit
Case $Button1
ToolTip("test : ça commence", 1150, 535)
AdlibRegister("CLIQUE",5000);appel de la fonction toutes les 5 secondes (5000 millisec)
EndSwitch
WEnd
Func CLIQUE()
$WinPos = WinGetPos("[CLASS:ApolloRuntimeContentWindow]")
MouseClick("Left",$WinPos[0] + $decalHori,$WinPos[1] + $decalVert,1,0)
EndFunc
A condition que la fenêtre soit toujours au dessus des autres.
Re: [..] Unknown function name
Posté : ven. 22 mai 2015 12:52
par TestAutoit
Merci pour vos réponses rapides
Il est donc pas possible de faire une fonction capable de continuer à faire un clique si la fenêtre n'est pas au premier plan ?
Re: [..] Unknown function name
Posté : ven. 22 mai 2015 13:29
par TomAijerrie
si, ControlClick
https://www.autoitscript.com/autoit3/do ... lClick.htm
Je n'ai pas retenu cette solution car je n'avais pas l'ID du contrôle
Re: [..] Unknown function name
Posté : ven. 22 mai 2015 14:51
par TestAutoit
J'ai donc tout sauf l'ID ? et impossible de le récupérer avec Au3Info :/
Edit : j'ai l'erreur Unterminated string maintenant
Re: [..] Unknown function name
Posté : ven. 22 mai 2015 23:11
par TestAutoit
up...
Re: [..] Unknown function name
Posté : mar. 26 mai 2015 11:46
par TomAijerrie
Bien sur que si, à condition qu'il existe. (Certain programmes sont des images qui regardent la position de la souris au moment du clic, il n'y a donc pas de contrôles à cliquer (autre que l'image), il faut jouer sur la position du contrôle par rapport à la fenêtre).
Si ce n'est pas le cas (si le contrôle existe)
utilise Au3Info pour connaitre l'id
Si il n'y a pas d'ID
clique en fonction de la position de la zone à cliquer
Re: [..] Unknown function name
Posté : mar. 26 mai 2015 12:01
par jguinch
Il n'y a pas besoin d'ID pour ControlClick. Le paramètre controlID peut être vide ("") = ça envoi un clic dans la fenêtre (dans le contrôle qui a le focus)
Re: [..] Unknown function name
Posté : mar. 26 mai 2015 22:03
par ZDS
Bonjour,
Ce code semble correspondre à un script utilisable avec le jeu en ligne Dofus de la société
Ankama (cf "[CLASS:ApolloRuntimeContentWindow]", je le sais car je suis le chef de projet du
nAiO, logiciel pour Dofus pour lequel j'ai explicitement demandé l'accord à
Ankama, et pour lequel j'ai reçu une autorisation de la part de leurs community managers).
Je conseillerais donc aux membres du forum de ne pas donner suite à cette demande, sauf si TestAutoit nous montre dans quel but son script va servir.
Après, ce n'est qu'un conseil, vous n'êtes pas obligé de prendre en compte ma remarque ^^
A bientôt !
Pour rappel, par rapport à ton éventuel projet :
"Toute action automatisée est considérée comme hors-charte, à partir du moment où celle-ci s'exécute en phase de jeu. Cependant [...] toute action automatisée destinée à la connexion du compte ou du choix de l'avatar jouable [...] n'est pas interdite"
Et à ma connaissance du jeu, pendant la phase où c'est autorisé, il n'y a nulle part nécessité d'un multi-clic.
Re: [..] Unknown function name
Posté : mar. 26 mai 2015 22:11
par mikell
Un avis de spécialiste est toujours bon à prendre
Merci
*lock*
@TestAutoit
Si la question ne concerne pas un bot ou assimilé, merci d'ouvrir un nouveau sujet avec les explications qui vont bien