Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

AutoIt : fermer un programme

11 réponses
Avatar
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

10 réponses

1 2
Avatar
JF
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
Avatar
Serge Nazarian
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
Avatar
JF
Je trouve curieux ce TimeOut=0
À quoi correspond un temps d'attente réduit à rien ?
Avatar
LeLapin
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
Avatar
JF
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.
Avatar
Serge Nazarian
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
Avatar
JF
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
Avatar
LeLapin
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
Avatar
Serge Nazarian
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
Avatar
Serge Nazarian
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
1 2