AutoIt : fermer un programme

Le
Serge Nazarian
Bonjour,

J'ai réalisé, sous W7, un script avec AutoIt, que j'ai compilé pour
obtenir un fichier toto.exe placé sur le bureau. Un double clic sur
toto.exe fait exactement ce qu'il doit faire.
Cependant, à la fin de son exécution, je retrouve son icône dans la
barre des tâches et si je clique je vois :

Script Paused (coché)
Exit

Un clic sur exit fait disparaître l'icône de la barre des tâches.

Je souhaite cependant que le programme se ferme de lui-même.
Comment modifier mon script ?

Merci pour toute aide.
Cordialement,

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JF
Le #23037141
Je souhaite cependant que le programme se ferme de lui-même.



Bonjour Serge, tu as vraiment bétonné avec cette question, cela fait
trois fois que je la vois sur différents ng. Michel t'a répondu sur
ponx, il faudrait prévoir une instruction exit
http://www.autoitscript.fr/autoit3/docs/keywords/Exit.htm
Serge Nazarian
Le #23037821
JF a écrit le 20/01/2011 :
Je souhaite cependant que le programme se ferme de lui-même.



Bonjour Serge, tu as vraiment bétonné avec cette question, cela fait trois
fois que je la vois sur différents ng. Michel t'a répondu sur ponx, il
faudrait prévoir une instruction exit
http://www.autoitscript.fr/autoit3/docs/keywords/Exit.htm



Bonjour,

J'ai mis des "followup" (sauf erreur de manipulation).

Hélas, l'instruction Exit ne résout rien. C'est d'ailleurs plus ou
moins dit dans l'aide :
"Exit ;is optional if last line of script"

Cordialement.

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
JF
Le #23039451
Je trouve curieux ce TimeOut=0
À quoi correspond un temps d'attente réduit à rien ?
LeLapin
Le #23040211
JF a tapoté du bout de ses petites papattes :
Je trouve curieux ce TimeOut=0
À quoi correspond un temps d'attente réduit à rien ?



Dans pas mal de fonctions de boucles ou de temps, le 0 donne une boucle
(un temps) infinie.

--
LeLapin
JF
Le #23054321
Je trouve curieux ce TimeOut=0
À quoi correspond un temps d'attente réduit à rien ?


Dans pas mal de fonctions de boucles ou de temps, le 0 donne une boucle (un
temps) infinie.



Dans la commande concernée le TimeOut est en général laissé par défaut,
c'est à dire qu'on ne le précise pas, ce qui provoque une attente
infinie. Il était très surprenant de préciser ainsi TimeOut=0.
L'info que Timeout=0 correspondait à une attente infinie à été rappelée
à l'intéressé dans un autre newsgroup. Avec en plus des indications
pour tracer le déroulement des opérations (insertion de messages dans
le script).
Il n'y a pas eu de réponse, ce qui, je crois, est signe que tout va
bien.
Serge Nazarian
Le #23070421
JF a écrit le 26/01/2011 :
Je trouve curieux ce TimeOut=0
À quoi correspond un temps d'attente réduit à rien ?


Dans pas mal de fonctions de boucles ou de temps, le 0 donne une boucle (un
temps) infinie.



Dans la commande concernée le TimeOut est en général laissé par défaut, c'est
à dire qu'on ne le précise pas, ce qui provoque une attente infinie. Il était
très surprenant de préciser ainsi TimeOut=0.
L'info que Timeout=0 correspondait à une attente infinie à été rappelée à
l'intéressé dans un autre newsgroup. Avec en plus des indications pour tracer
le déroulement des opérations (insertion de messages dans le script).
Il n'y a pas eu de réponse, ce qui, je crois, est signe que tout va bien.



Bonjour,

Le changement de la valeur du Timeout ne résout rien.

J'étais en "vacances", ce qui explique mon silence, mais ça ne va pas
bien, toujours le même problème.

Cordialement,

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
JF
Le #23072381
Bonjour,
Le changement de la valeur du Timeout ne résout rien.



Bonjour Serge
Pourtant ça a corrigé le problème :
Func _WinWaitActivate($title,$text,$timeout=5)
Avec ce Timeout de cinq secondes, l'attente est abandonnée après le
temps indiqué. le script arrive à la fin et s'arrête.

C'est un script enregistré automatiquement, et cet attente de
l'affichage du panneau de config ne sert à rien ==>

_WinWaitActivate("Panneau de configurationTous les Panneaux de
configuration","Adresse : Panneau de")

Il suffit de mettre un EXIT juste avant cette ligne afin qu'elle ne
soit jamais exécutée.

Même sans comprendre le script, on peut suivre son fonctionnement en
plaçant des messages entre les lignes de commande :

msgbox(4096,"coucou","coucou")

Lorsque cette commande est placée après la ligne indiquée, le message
n'est plus affiché. CQFD.

--
Jean-François :
http://fspsa.free.fr/
http://fspsa.free.fr/addenda.htm
LeLapin
Le #23072841
JF a tapoté du bout de ses petites papattes :
Bonjour,
Le changement de la valeur du Timeout ne résout rien.



Bonjour Serge
Pourtant ça a corrigé le problème :
Func _WinWaitActivate($title,$text,$timeout=5)
Avec ce Timeout de cinq secondes, l'attente est abandonnée après le temps
indiqué. le script arrive à la fin et s'arrête.

C'est un script enregistré automatiquement, et cet attente de l'affichage du
panneau de config ne sert à rien ==>

_WinWaitActivate("Panneau de configurationTous les Panneaux de
configuration","Adresse : Panneau de")

Il suffit de mettre un EXIT juste avant cette ligne afin qu'elle ne soit
jamais exécutée.

Même sans comprendre le script, on peut suivre son fonctionnement en plaçant
des messages entre les lignes de commande :

msgbox(4096,"coucou","coucou")

Lorsque cette commande est placée après la ligne indiquée, le message n'est
plus affiché. CQFD.



Merci qui ? :)

--
LeLapin
Serge Nazarian
Le #23074471
Serge Nazarian a écrit le 20/01/2011 :
Bonjour,

J'ai réalisé, sous W7, un script avec AutoIt, que j'ai compilé pour obtenir
un fichier toto.exe placé sur le bureau. Un double clic sur toto.exe fait
exactement ce qu'il doit faire.
Cependant, à la fin de son exécution, je retrouve son icône dans la barre des
tâches et si je clique je vois :

Script Paused (coché)
Exit

Un clic sur exit fait disparaître l'icône de la barre des tâches.

Je souhaite cependant que le programme se ferme de lui-même.
Comment modifier mon script ?

Merci pour toute aide.
Cordialement,



Bonjour,

Merci à ceux qui m'ont répondu.
Mon problème est résolu.
Ce n'est ni un problème de Exit ni un problème de Timeout mais la ligne
:
_WinWaitActivate("Panneau de configurationTous les Panneaux de
configuration","Adresse : Panneau de")

fait référence à un mauvais nom (j'ai récupéré ce nom par
Au3Recorer.exe).

J'ai donc supprimé les deux dernières lignes :
_WinWaitActivate("Panneau de configurationTous les Panneaux de
configuration","Adresse : Panneau de")
Send("{ALTDOWN}{F4}{ALTUP}")

et maintenant tout marche (sans Exit et avec Timeout=0).

Je serais néanmoins content si quelqu'un pouvait m'indiquer quel est le
titre exact de la fenêtre du panneau de configuration.


Cordialement,

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Serge Nazarian
Le #23074581
Serge Nazarian a écrit le 20/01/2011 :
Bonjour,

J'ai réalisé, sous W7, un script avec AutoIt, que j'ai compilé pour obtenir
un fichier toto.exe placé sur le bureau. Un double clic sur toto.exe fait
exactement ce qu'il doit faire.
Cependant, à la fin de son exécution, je retrouve son icône dans la barre des
tâches et si je clique je vois :

Script Paused (coché)
Exit

Un clic sur exit fait disparaître l'icône de la barre des tâches.

Je souhaite cependant que le programme se ferme de lui-même.
Comment modifier mon script ?

Merci pour toute aide.
Cordialement,



Le code final qui marche impeccablement :

; Haut-parleurs de l'écran
#region ---Au3Recorder generated code Start ---
Run('rundll32.exe shell32.dll,Control_RunDLL
"I:WindowsSystem32mmsys.cpl"')
Opt("WinWaitDelay",100)
Opt("WinTitleMatchMode",3)
Opt("WinDetectHiddenText",1)
Opt("MouseCoordMode",0)
_WinWaitActivate("Son","Sélectionnez un péri")
Send("{PGUP}{PGUP}{PGUP}{DOWN}{DOWN}{ALTDOWN}d{ALTUP}{ENTER}")

#region --- Internal functions Au3Recorder Start ---
Func _WinWaitActivate($title,$text,$timeout=5)
WinWait($title,$text,$timeout)
If Not WinActive($title,$text) Then WinActivate($title,$text)
WinWaitActive($title,$text,$timeout)
EndFunc
#endregion --- Internal functions Au3Recorder End ---

#endregion --- Au3Recorder generated code End ---

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Publicité
Poster une réponse
Anonyme