Page 1 sur 1
[R] Fermer la fenêtres en cours
Posté : jeu. 27 nov. 2014 10:39
par tapss
Bonjour tout le monde,
Je vous explique mon problème, je lance un programme avec deux bouton "continuer et annuler" en suite je clic sur continuer pour lancer un script.bat et la fenêtre reste ouvert.
En fait je veux fermé cette fenêtre dès que je clic sur continuer.
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Dialog", 315, 290, 347, 249)
$GroupBox1 = GUICtrlCreateGroup("", 8, 1, 297, 193)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Continuer = GUICtrlCreateButton("&Continuer", 38, 203, 75, 73)
$Annuler = GUICtrlCreateButton("&Annuler", 197, 203, 75, 73)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $continuer
Run("x:\tools\run.bat")
Case $annuler
Run("x:\tools\reboot.bat")
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Merci d'avance pour votre aide.
Cordialement,
tapss
Re: Fermeture d'un programme quand je clique sur ok
Posté : jeu. 27 nov. 2014 10:41
par jbnh
Re: Fermeture d'un programme quand je clique sur ok
Posté : jeu. 27 nov. 2014 10:56
par DimVar
Bonjour,
Une fois ton titre mis en conformité, il serait préférable de publier ton code si tu veux de l'aide.
Cdlt, Dimvar.
Re: Fermeture d'un programme quand je clique sur ok
Posté : jeu. 27 nov. 2014 11:47
par tapss
DimVar a écrit :Bonjour,
Une fois ton titre mis en conformité, il serait préférable de publier ton code si tu veux de l'aide.
Cdlt, Dimvar.
Bonjour DIMVar,
Désolé je suis nouveau dans le forum, j'ai suivi la création du message comme tu m'a demandé.
Cdlt tapss
Re: [..] Fermer la fenêtres en cours
Posté : jeu. 27 nov. 2014 11:59
par jguinch
Si cliques sur continuer, logiquement, run.bat devrait démarrer un seconde fois...
Sinon, tu peux faire un truc comme ça, pour killer le process...
► Afficher le texte
Code : Tout sélectionner
Local $iPid = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $continuer
If $iPid Then
ProcessClose($iPid)
$iPid = 0
Else
$iPid = Run("x:\tools\run.bat")
EndIf
Case $annuler
Run("x:\tools\reboot.bat")
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Tu pourrais aussi ajouter un
Exit dans ton
run.bat (d'ailleurs il fait quoi ton run.bat ?)
Pour ce qui est du reboot.bat, s'il sert à redémarrer le poste, il y a la fonction Shutdown() qui permet de le faire

Re: [..] Fermer la fenêtres en cours
Posté : jeu. 27 nov. 2014 15:27
par jbnh
Ou peut-être que tu parles de la fenetre de ta gui ? dans ce cas voir GuiDelete()
Re: [..] Fermer la fenêtres en cours
Posté : jeu. 27 nov. 2014 16:14
par tapss
jbnh a écrit :Ou peut-être que tu parles de la fenetre de ta gui ? dans ce cas voir GuiDelete()
Salut,
Je parle de ma fenêtre gui.
Cordialement,
Tapss
Re: [..] Fermer la fenêtres en cours
Posté : jeu. 27 nov. 2014 17:07
par tapss
Salut,
J'ai résolu le problème, j'ai ajouter la fonction GUIDelete après run, merci jbnh pour ton aide.
► Afficher le texte
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Dialog", 315, 290, 347, 249)
$GroupBox1 = GUICtrlCreateGroup("", 8, 1, 297, 193)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Continuer = GUICtrlCreateButton("&Continuer", 38, 203, 75, 73)
$Annuler = GUICtrlCreateButton("&Annuler", 197, 203, 75, 73)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $continuer
Run("x:\tools\run.bat")
GUIDelete
Case $annuler
Run("x:\tools\reboot.bat")
GUIDelete
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Cordialement Tapss