[..] Quitter automatiquement un script en Pause

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
domdom74
Niveau 1
Niveau 1
Messages : 5
Enregistré le : dim. 13 déc. 2009 07:50
Status : Hors ligne

[..] Quitter automatiquement un script en Pause

#1

Message par domdom74 »

Bonsoir,

Voici mon code :

Code : Tout sélectionner

Run("C:\Program Files\Mozilla Thunderbird\thunderbird.exe")
WinWaitActive("Entrez votre mot de passe :")
Sleep(3000)
Send("{Tab 3}")
Sleep(1500)
Send("{ENTER}")
Sleep(1500)
Send("!o")
Sleep(1500)
Send("i")
Send("{ENTER}")
Sleep(1000)
Send("{Tab}")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
Send("{down 5}")
Sleep(1000)
Send("{Tab 2}")
Sleep(1000)
Send("{ENTER}")
Sleep(1000)
Send("C:\Profil\Departement.ldif")
Sleep(1000)
Send("!o")
#include<array.au3>
Dim $cord
While 1
    $cord = ControlGetPos("", "", "[CLASS:MozillaWindowClass; INSTANCE:3]")

 If IsArray($cord) Then
        Send ("{ENTER}")
    Sleep (1000)
            Send("!fq")
    Sleep (1000)

        EndIf

WEnd
Ce code, dont une partie m'a été donnée par Tlem, fonctionne très bien. Il a pour but de lancer Thunderbird, d'importer automatiquement un carnet d'adresses au format ldif, de générer un clic sur le bouton "Terminer" quand la fenêtre qui le contient apparaît, et enfin de fermer Thunderbird.

Jusque là, pas de problème, mais après avoir quitter Thunderbird..., le script reste en pause et ne se ferme pas automatiquement. Je suis obligé de cliquer sur Quitter dans le Systray. Cela n'est certes pas un gros effort, mais je voudrais que cela soit transparent pour l'utilisateur.

Il doit manquer quelque chose dans la boucle While ou une fonction supplémentaire forçant la clôture du script même s'il est en pause, mais mes recherches ne m'ont pas permis pour l'instant d'aboutir.

Aussi, fais-je appel à votre générosité.

Merci d'avance.

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

Re: [..] Quitter automatiquement un script en Pause

#2

Message par Tlem »

Il vous manque le Exit après la derniere instruction ou pause.
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é".
domdom74
Niveau 1
Niveau 1
Messages : 5
Enregistré le : dim. 13 déc. 2009 07:50
Status : Hors ligne

Re: [..] Quitter automatiquement un script en Pause

#3

Message par domdom74 »

Hello Tlem,

Vous pensez bien que j''ai déjà cherché avec Exit. Mais les boucles While, je ne maîtrise pas vraiment...

Quand je le place après Wend : Résultat négatif :( (Le script n'est pas clos)

Quand je le place après EndIf : Résultat négatif :( (Le script est bien clos, mais l'action click sur le bouton Terminer ne s'exécute pas...)

Je ne sais pas trop où le placer l'exit... :?: , et je pense (mais je peux me tromper) que le problème vient du While 1 : c'est pas une boucle infinie ?

Merci de votre aide et aussi des solutions que vous apportez dans ce forum régulièrement.

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

Re: [..] Quitter automatiquement un script en Pause

#4

Message par Tlem »

Tlem a écrit :Il vous manque le Exit après la derniere instruction ou pause.
Edit :
Voici la fin de votre code commenté pour comprendre son fonctionnement :
► Afficher le texte
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é".
Répondre