[R] Problème avec WinActive

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
bqsjayce
Niveau 1
Niveau 1
Messages : 4
Enregistré le : jeu. 24 janv. 2008 14:01
Status : Hors ligne

[R] Problème avec WinActive

#1

Message 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.....
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

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

#2

Message 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

 
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
bqsjayce
Niveau 1
Niveau 1
Messages : 4
Enregistré le : jeu. 24 janv. 2008 14:01
Status : Hors ligne

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

#3

Message 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
Répondre