Page 1 sur 1

[R] Problème avec WinActive

Posté : jeu. 24 janv. 2008 14:30
par bqsjayce
Bonjour,

Voici mon problème pour mon premier developement avec AutoIt.
Le but est de lancer des commande dans un logiciel à partir d'un numero saisie.

Un petit exemple vaut mieux qu'un long discours :

Code : Tout sélectionner

$text = InputBox("Choix", "Numero ?")
Run("toto.exe")
WinWaitActive("toto")
Send($text)
ControlClick("Entrée dans l'application", "OK", "TIWButton1") 
While (WinActive("toto", "") == 0)
    If WinExists("Chiffre pair") Then 
        ControlClick("totofille", "OK", "TButton2")
    EndIf
WEND
Send("{ALT}+F")
 
exemple avec un chiffre pair :

1. Je saisie le numero "2"
2. Affichage la fenetre TOTO en fond avec la fenetre de saisie du numero devant.
3. saisie automatique du numero puis validation OK.
4. Fenetre d'Information (totofille) comme quoi le numero est pair. Cliques sur ok
5. Traitement ALT+F sur la fenetre Toto

exemple avec un chiffre impair :

1. Je saisie le numero "3"
2. Affichage la fenetre TOTO en fond avec la fenetre de saisie du numero devant.
3. saisie automatique du numero puis validation OK.
5. Traitement ALT+F sur la fenetre Toto

Dans le cas n°1 Comment savoir que la fenetre totofille s'est affiché ?
Apparemment mon code avec While (WinActive("[TITLE:toto]", "") == 0) tourne en boucle.

Js

Ps : si je ne suis pas assez clair. dites le moi.....

Re: [QUESTION] Novice. Problème avec WinActive

Posté : jeu. 24 janv. 2008 22:09
par sylvanie
pour sortir de cette boucle, il faudrait que "toto" revienne en avant plan.

pour savoir si "totofille" c'est affichée, j'utliserai un booléen $totofille_present, initialisée à 0 au début puis qui passe à 1 ici

Code : Tout sélectionner

 If WinExists("Chiffre pair") Then 
 $totofille_present=1        
ControlClick("totofille", "OK", "TButton2")
; <-- ici on pourrait glisser un winactivate("toto") pour sortir de la boucle
    EndIf

 

Re: [QUESTION] Novice. Problème avec WinActive

Posté : ven. 25 janv. 2008 10:16
par bqsjayce
Je pense qu'avec ta solution le programme tournerait en boucle...
En effet la fenetre totofille n'apparait pas à chaque fois..

Mais en fait j'ai résolu le problème en utilisant un menu détourné du programme toto.exe.

Merci pour votre aide.

Js