[..] Demande de script simple de débutant

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jrm
Niveau 1
Niveau 1
Messages : 4
Enregistré le : ven. 25 avr. 2008 00:10
Status : Hors ligne

[..] Demande de script simple de débutant

#1

Message par jrm »

Bonjour,

je pense avoir compris comment simuler l'appui sur la touche entrée, cependant, un petit problème m'interpelle :
je souhaiterai simuler l'appui sur la touche entrée sur une fenêtre uniquement; j'explique un peu mieux... :
j'utilise un logiciel gratuit qui lance une pub sur une fenêtre internet toute les 2 minutes à peu près; je dois fermer la fenêtre ou switcher vers la fenêtre du logiciel (ms-dos). Le problème d'un script qui ne ferait qu'appuyer sur la touche entrée est que lorsque la page internet apparaîtrait, la simulation de la touche entrée se ferait sur la page internet et non sur la fenêtre du logiciel.

Pouvait vous me réaliser un petit script ou bien me mettre sur la voie pour que celui-ci fasse :
- Lancement éventuel du programme (peu important) [run.bat]

- Vérification si la fenêtre active est bien run.bat
- Si oui, appui sur la touche entrée, si non switch vers run.bat
Ces 2 opérations ce feraient toutes les X secondes (150sec par exemple)

- Le tout ce ferait infiniment jusqu'à ce que le script soit arrêter ou bien que la fenêtre soit fermée.

J'espère avoir était le plus clair possible et que vous pourrez m'éclairer parceque j'aimerais automatiser cette action qui m'empeche pour le moment de faire autre chose que de rester scotcher devant l'écran toute la journée en attendant d'appuyer sur entrée apres que la pub soit apparue :)

Merci.
Modifié en dernier par Tlem le ven. 25 avr. 2008 15:38, modifié 1 fois.
Raison : Ajout de la balise [..] dans le titre.
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: Demande de script simple de débutant

#2

Message par Yogui »

déjà juste que je suis vraiment heureux de pouvoir t'aider (c'est la première fois que je met un script ici)

Code : Tout sélectionner

; ----------------------------------------------------
; -------------------- Section I --------------------
; ----------------------------------------------------
; Version AutoIt :    3.2.8.1
; Langue     :        Francais
; Plateforme :        Win9x/XP
; Autheur    :        yogui ;
; Fonction du script ; attend une fenêtre et faite entrer
;
;
;
; Version 1.0 : 25/04/2008
;           - Première Version.
;
 
While 1
 WinWaitActive ( "run.bat" ) ; attend  la fenêtre nommée run.bat
  send ( "{ENTER}" ) 
WEnd
je me suis largement inspiré des tutos

pour tester mon code batch est le suivant :

Code : Tout sélectionner

@echo off
cls
TITLE run.bat

pause


echo on
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: Demande de script simple de débutant

#3

Message par Tlem »

@jrm : merci de respecter les règles de présentation d'un post : http://www.autoitscript.fr/forum/viewto ... f=20&t=595

@Yogui : J'ai simplifier votre code des parties inutiles.
De plus il serait plus judicieux de lancer le batch en récupérant son PID (Voir l'aide de la commande RUN).
Un fois le PID du process connu, il est très simple d'envoyer une commande à celui-ci sans se préoccupé de la fenêtre ...
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é".
jrm
Niveau 1
Niveau 1
Messages : 4
Enregistré le : ven. 25 avr. 2008 00:10
Status : Hors ligne

Re: [..] Demande de script simple de débutant

#4

Message par jrm »

Merci de ta réponse. J'ai donc fait :
- Click droit sur le bureau
- Autoit V3 script
- J'ai collé ton script
- Enregistrer
- Lancer run.bat
- Clique droit sur le script, Run script.

Je ne comprends pas à quel moment intervient le batch ? :s
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Demande de script simple de débutant

#5

Message par Tlem »

Le code Yogui ne peut pas fonctionné.
Il faut l'adapter avec ce que j'ai suggérer.
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é".
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: Demande de script simple de débutant

#6

Message par Yogui »

Tlem a écrit :@jrm : merci de respecter les règles de présentation d'un post : http://www.autoitscript.fr/forum/viewto ... f=20&t=595

@Yogui : J'ai simplifier votre code des parties inutiles.
De plus il serait plus judicieux de lancer le batch en récupérant son PID (Voir l'aide de la commande RUN).
Un fois le PID du process connu, il est très simple d'envoyer une commande à celui-ci sans se préoccupé de la fenêtre ...

Bonjour,

je pense que le script que vous indiquez doit resembler à celui ci

Code : Tout sélectionner

$pid = Run("run.bat")
Sleep(100)
If ProcessExists($pid) Then ProcessClose($PID)
je ne vois pas comment l'adapter pour une fenêtre qui se lance automatiquement donc qui change de PID.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Demande de script simple de débutant

#7

Message par Tlem »

La première ligne du script, récupère effectivement le PID du batch lancé par la commande RUN.
Après, il faut voir ce que jrm veut en faire.

Mais une fois le PID connut, il est facile d'envoyer des commandes à cette fenêtre.
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é".
KTux
Niveau 1
Niveau 1
Messages : 4
Enregistré le : mar. 17 juin 2008 13:30
Status : Hors ligne

Re: [..] Demande de script simple de débutant

#8

Message par KTux »

Je dirais, pour reprendre les précédents posts :

Code : Tout sélectionner

Dim $pid=Run("run.bat"),$winList,$handle=0
Sleep(1000)
$winList=WinList()
Dim $i
For $i=1 to $winList[0][0]
If WinGetProcess($winList[$i][1])=$pid then
$handle=$winList[$i][1]
ExitLoop
EndIf
Next
If not $handle then
MsgBox(16,"Erreur","Impossible de trouver la fenêtre associée à run.bat.")
Exit
EndIf
While 1
WinActivate($handle) And Send("{ENTER}")
Sleep(150000) ;150 sec comme donné en exemple dans le post initial
Wend
 
(PS : pas vérifié, à voir donc.)
Répondre