[R] Clic automatique sur une fenètre macromédia

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
aspix
Niveau 1
Niveau 1
Messages : 3
Enregistré le : lun. 20 août 2007 13:11
Status : Hors ligne

[R] Clic automatique sur une fenètre macromédia

#1

Message par aspix »

Bonjour tous le monde! Je me permets de de créer ce topic car j'ai abslument besoin de vous tous!
Je suis novice dans la programmation et je souhaite créer un autoclic répétitif sur une fenêtre macromedia :
voici les info suivantes :
Pour Window :
Title:
Class: Afx:11780000:0:0:1900011:0
Position: 0, 0
Size: 1280, 800
Style: 0x96000000
ExStyle: 0x00000000

Pour control :
Class: MacromediaFlashPlayerActiveX
Instance: 1
ID: 205612160
Text:
Position: 107, 0
Size: 1066, 800
ControlClick Coords: 1017, 140
Style: 0x56000000
ExStyle: 0x00000000

Pour Mouse :
Position: 1124, 140
Cursor ID: 0
Color: 0x314B5E

StatusBar

Visible Text


Hidden Text


Est ce qu'une personne charitable pourrais eventuellement me créer le script ca m'arrangerais beaucoup!

Le clic doit etre fait pour toutes les 5 min merci beaucoup!
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#2

Message par sylvanie »

Bonsoir,
as tu essayé

ControlClick ( "nom de la fenetre", "", "[CLASS:MacromediaFlashPlayerActiveX; INSTANCE:1]")

ou sinon un
MouseClick ( "left" , 1124, 140 )

?
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
aspix
Niveau 1
Niveau 1
Messages : 3
Enregistré le : lun. 20 août 2007 13:11
Status : Hors ligne

#3

Message par aspix »

sylvanie a écrit :Bonsoir,
as tu essayé

ControlClick ( "nom de la fenetre", "", "[CLASS:MacromediaFlashPlayerActiveX; INSTANCE:1]")

ou sinon un
MouseClick ( "left" , 1124, 140 )

?
Merci de ta réponse mais je n'y comprends vraiment en ce language.
Le problème c'est qu'il y a une fenetre mais pas une fenetre de forme windows avec le titre dans la barre de titre j'ai juste une fenetre macromedia sans contour!

En fait c'est une formation que je dois faire en ligne et si je ne clic pas toutes les 8min le compteur de temps s'arrete et là je dois faire une soixantaine d'heure donc si une ame charitable pouvait me faire un script avec les données citées dessus ca sera vraiment cool et sympa !
Merci d'avance

P.S: intervalle des clic 7 min et ca serait pour faire un clic gauche !
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#4

Message par sylvanie »

le côté dérangeant, si je suis bien la situation, est que c'est autoit qui suivra cette formation, et pas toi ...
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
aspix
Niveau 1
Niveau 1
Messages : 3
Enregistré le : lun. 20 août 2007 13:11
Status : Hors ligne

#5

Message par aspix »

sylvanie a écrit :le côté dérangeant, si je suis bien la situation, est que c'est autoit qui suivra cette formation, et pas toi ...
C'est une formation de langue en anglais! J'ai déjà le TOEIC à 780 et ce qui m'embête c'est que je dois passé du temps dessus mais pas de faire la formation (qui n'a aucun intéret d'ailleurs car j'ai deja on TOEIC) c'est juste pour faire acte de présence!
Mais c'est pas grave je me debrouillerai merci quand même!
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#6

Message par sylvanie »

puisque tu n'as pas besoins de cette formation :

Code : Tout sélectionner

HotKeySet("²","Main_action")
;la touche ² déclenchera le script, ceci est nécessaire pour laisser le temps d'aller sur la bonne fenêtre, à défaut de nom

;pour sortir de ce script, faut passer par l'icône systray autoit

while 1
	Sleep(1000) ;boucle infinie qui sera interrompue par la pression de ²
WEnd

Func Main_action()
	$nom_fenetre=WinGetTitle("") ; récupération du nom de la fenêtre
	
	While 1
		WinActivate($nom_fenetre) ; activation de la fenetre
		WinWaitActive($nom_fenetre) ; pause le script jusqu'à ce qu'elle soit vraiment active
		MouseClick ( "left" , 1124, 140,1,0 ) ; faudra poffiner les coords si ça ne va pas
		Sleep(7*60000) ; pause de 7 minutes
	WEnd
EndFunc
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#7

Message par Tlem »

Vraiment trop gentil ce Sylvanie (Et en plus c'est gratuit).
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é".
coba
Niveau 1
Niveau 1
Messages : 6
Enregistré le : jeu. 17 janv. 2008 17:47
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédia

#8

Message par coba »

Bonjour,

Je tenais juste a vous remercier, j'ai pas mal galèré pour touver le script "autoclic" pratiquement tout fait.
Je mis connais un peu en programmation web, je croyais que autoit serai bien plus compliquer puisqu'il sert pas seulement sur le web. En fait il suffirait juste de savoir ce que tel "attributs" ou tel "commandes" est censé faire. On peu trouver en fesant des test, on bidouille, on regarde le resultat, on change... et ainsi de suite. Mais c'est assez long....

Alors questions à tout hasard : Y a t-il un topic dans ce forum ou un site web qui liste tous les "attribut" ou toutes les "commandes" d'autoit, avec leur spécificités expliquées en FR?

Exemple :
$nom_fenetre=WinGetTitle("") ==> récupération du nom de la fenêtre
WinActivate($nom_fenetre) ==> activation de la fenetre

PS :

Visiteur de ce forum j'ai qu'une chose a vous dire, sachez qu' avec un peu de volonté, un soupçon d'ingéniosité et un zeste de persevérance, n'importe qui peu programmer.
Sachez aussi que des interrogations restent quelques fois sans réponses, alors je dit : grands merci aux forums et à leurs modérateurs!!! ;)
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédia

#9

Message par Voodoo »

La traduction avait commencé mais je crois que le projet a été abandonné. c'est le moment d'aprendre à programmer en autoit...et de reviser son anglais ! :mrgreen:
coba
Niveau 1
Niveau 1
Messages : 6
Enregistré le : jeu. 17 janv. 2008 17:47
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédi

#10

Message par coba »

A mince, dommage.

Bon sinon j'ai tenté d'améliorer ce script pour qu'il fasse ce que je lui demande mais j'ai beau cherché je bloque. Il me manque sans doute des éléments.

J'aimerai qu'il actionne deux clic. Je developpe :

J'ai deux noms de fenetre et deux liens (sachant que tout se passe dans la meme fenetre de l'explorer utiliser biensur) :
fenetre1 ou se trouve le lien2
fenetre2 ou se trouve le lien1

Comme vous l'aurez compris le script doit agir de la façon suivante :

_activation fenetre1 (no soucy :))
_clic lien2 de la fenetre1, la fenetre2 souvre (là le nom de fenetre change de fenetre1 a fenetre2, on est daccord :))
_attendre 10 secondes (ça je sais pas du tout comment faire)
_activation fenetre2 (changer de fenetre, pas trouvé non plus :()
_clic sur le lien1 de la fenetre2, la fenetre1 s'ouvre
_attendre 10 secondes (ça je sais pas du tout comment faire)
_recommencer à l'infinie

j'ai tenté ceci (sans les 10 seconde, puisque je ne sais pas comment faire), mais ça ne fonctionne pas :

Code : Tout sélectionner

HotKeySet("²","Main_action")
;la touche ² déclenchera le script, ceci est nécessaire pour laisser le temps d'aller sur la bonne fenêtre, à défaut de nom

;pour sortir de ce script, faut passer par l'icône systray autoit

while 1
   Sleep(1000) ;boucle infinie qui sera interrompue par la pression de ²
WEnd

Func Main_action()
   $nom_fenetre=WinGetTitle("fenetre1") ; récupération du nom de la fenêtre
   
   While 1
      WinActivate($nom_fenetre) ; activation de la fenetre
      WinWaitActive($nom_fenetre) ; pause le script jusqu'à ce qu'elle soit vraiment active
      MouseClick ( "left" , 750, 160,1,0 ) ; faudra poffiner les coords si ça ne va pas
      Sleep(1*60000) ; pause de 1 minutes

   $nom_fenetre=WinGetTitle("fenetre2") ; récupération du nom de la fenêtre
   
   While 1
      WinActivate($nom_fenetre) ; activation de la fenetre
      WinWaitActive($nom_fenetre) ; pause le script jusqu'à ce qu'elle soit vraiment active
      MouseClick ( "left" , 500, 160,1,0 ) ; faudra poffiner les coords si ça ne va pas
      Sleep(1*60000) ; pause de 1 minutes
  WEnd

EndFunc
 
Voilà, j'ai vraiment tout essayé mais en vain. j'imagine que le Sleep(1*60000) pourrai me servir pour mes 10 secondes, mais j'ai pas trouvé pour les secondes donc j'ai mis 1 minute.

Si vous pourriez en gros corriger mes erreur.... merci!!
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédi

#11

Message par Voodoo »

Apparement il y a un while 1 mal placé ! apres le $nom_fenetre.

Code : Tout sélectionner


HotKeySet("²","Main_action")
;la touche ² déclenchera le script, ceci est nécessaire pour laisser le temps d'aller sur la bonne fenêtre, à défaut de nom

;pour sortir de ce script, faut passer par l'icône systray autoit

while 1
   Sleep(1000) ;boucle infinie qui sera interrompue par la pression de ²
WEnd

Func Main_action()
  While 1
   $nom_fenetre=WinGetTitle("fenetre1") ; récupération du nom de la fenêtre
   

      WinActivate($nom_fenetre) ; activation de la fenetre
      WinWaitActive($nom_fenetre) ; pause le script jusqu'à ce qu'elle soit vraiment active
      MouseClick ( "left" , 750, 160,1,0 ) ; faudra poffiner les coords si ça ne va pas
      Sleep(1*60000) ; pause de 1 minutes

   $nom_fenetre=WinGetTitle("fenetre2") ; récupération du nom de la fenêtre
   
      WinActivate($nom_fenetre) ; activation de la fenetre
      WinWaitActive($nom_fenetre) ; pause le script jusqu'à ce qu'elle soit vraiment active
      MouseClick ( "left" , 500, 160,1,0 ) ; faudra poffiner les coords si ça ne va pas
      Sleep(1*60000) ; pause de 1 minutes
  WEnd

EndFunc


Pour les 10 secondes c'est un sleep(10000) ! puisque sleep(60000) = 1 minute :D


Les liens sur lequels tu cliques sont dans une page Web ?
coba
Niveau 1
Niveau 1
Messages : 6
Enregistré le : jeu. 17 janv. 2008 17:47
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédia

#12

Message par coba »

Merci VooDoo pour le "while" mal placer!!

Cela fonctionne :mrgreen:

Pour répondre a ta question, oui il s'agit de pages web. Mais ce n'est pas pour de la pub, je suis tombé sur beaucoup de forum qui en parlait.

Moi c'est pour actualisé deux pages web, afin de simplement regarder les changements en live de c'est deux pages. 10 sec me suffisent largement.

Est-ce illégale aussi :?: :cry:
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédi

#13

Message par ani »

Essaye en indiquant dans le premier while ceux-ci, en espérant apporté ma petite contribution.

Code : Tout sélectionner

While Main_action()<> 0
    Sleep(1000)
WEnd
ensuite pour les variables $nom_fenetre il serait mieux d'inquer une variable differente pour la seconde genre $nom_fenetre1

les deux site que tu désire faire l'action sont toujours actif ?
coba
Niveau 1
Niveau 1
Messages : 6
Enregistré le : jeu. 17 janv. 2008 17:47
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédia

#14

Message par coba »

Pardon Ani, j'ai editer en meme temps que tu composais ton message.

Un lol s'impose ;)

C'est moi j'avais faire une erreure par la suite, alors que le script de Voodoo était juste.

Non seulement une des deux pages (pages qui font parties du meme site, je précise) est active.

On entend bien le sens du mot "active" : qui se met à jour constament. Meme si bien souvent, ces pages "actives" s'actualisent d'elles mêmes.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédia

#15

Message par ani »

ok autant pour moi car ceux que je viend de donner active directement le script sans appuier sur ² , désolé...

quel navigateur posséde tu ? ie /firefox ?

faudra attendre les pro car moi ....j'ai du mal :(
coba
Niveau 1
Niveau 1
Messages : 6
Enregistré le : jeu. 17 janv. 2008 17:47
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédia

#16

Message par coba »

A oui Ani, quand j'y regarde de plus près, changer le nom de fenêtre

$nom_fenetre1
et
$nom_fenetre2

est une exelente idée. (Chuis perfectionniste :oops: )
Mais ça marche également en mettant le même nom.

Merci aussi pour le choix du déclanchement automatique (que je n'est pas testé, mais je te fais confiance :D ) ou manuel du script :

Déclenchement automatique :

Code : Tout sélectionner

While Main_action()<> 0
    Sleep(1000)
WEnd

Déclenchement manuel :

Code : Tout sélectionner

HotKeySet("²","Main_action")
;la touche ² déclenchera le script, ceci est nécessaire pour laisser le temps d'aller sur la bonne fenêtre, à défaut de nom

;pour sortir de ce script, faut passer par l'icône systray autoit

while 1
   Sleep(1000) ;boucle infinie qui sera interrompue par la pression de ²
WEnd
 

Au moin mon perfectionnisme met les choses plus claire, pour ceux qui débutent!! :idea:
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédia

#17

Message par Voodoo »

Si c'est pour actualiser, il vaut mieux utiliser l'include

Code : Tout sélectionner

#include <IE.au3>
et ses fonctions associés.

Cele te permettra de crée une page internet explorer et de l'actualiser. C'est beacoup plus fiable que de raisonner sur les fenetres !

En general, meme si les commandes pour simuler un utilisateur sont efficaces, elles comportent de nombreux defaut. Si le titre de la fenetre change pour une raison x ou Y le script ne marchera plus. Si je decale tout 1 px c'est le drame ! Si l'utilsateur met son focus sur autre chose alors la le script va cliquer n'importe ou...Cela fait beacoup de si mais vous devriez voir ou je veux en venir.

Voila un petit script pour rafraichir la page google toutes les 30 secondes.

Code : Tout sélectionner

#include <IE.au3>

$oie=_IECreate("www.google.com")

$timer = TimerInit()
While 1
    If TimerDiff($timer) > 10000 Then
        _IEAction($oie, "REFRESH")
        $timer = TimerInit()
    EndIf
    sleep(10)
WEnd
 
coba
Niveau 1
Niveau 1
Messages : 6
Enregistré le : jeu. 17 janv. 2008 17:47
Status : Hors ligne

Re: [R] Clic automatique sur une fenètre macromédia

#18

Message par coba »

Ok,
Voodoo, ton script est a inserer dans l'autre? Je comprend pas ceci,
#include <IE.au3>
IE.au3 c'est quel script?

Le fait d'atualisé la page a-t-il le même effet que de simuler l'utilisateur?
C'est pour contrer le systeme de deconnection automatique d'un compte sur un site web, si je me connecte a mon compte sur ce site, et que je suis "AFK" au bout d'un momoment ça me deconnecte.

Pour Mozilla Firefox, je l'appel comment dans le script?


merci !
Répondre