voici mon PB:
Moi et un collègue développons un utilitaire pour éviter les tâches répétitives au boulot.
Je suis actuellement en train d'améliorer le bouton "shutdown" qui m'ouvre une deuxième GUI composé de 3 Boutons (Eteindre PC distant, Fermer session, Reboot Distant), seulement, quand j'ai fais mon choix et que je ferme cette fenêtre, cela ferme tout mon script! Du coup je dois relancer l'utilitaire pour continuer.
Voici le bout de code en question.
Code : Tout sélectionner
case $msg=$button3
$rinput = GUICtrlRead ($input1)
Local $Form2 = GUICreate("Choix du shutdown", 374, 130, 335, 209)
Local $Label5 = GUICtrlCreateLabel("", 112, 32, 156, 17)
Local $Buttoneteindre = GUICtrlCreateButton("Eteindre", 30, 15, 100, 30, $WS_GROUP)
Local $Buttonredemarrer = GUICtrlCreateButton("Reboot", 140, 15, 100, 30, $WS_GROUP)
Local $Buttonfermersession = GUICtrlCreateButton("LogOff", 250, 15, 100, 30, $WS_GROUP)
$Input3 = GUICtrlCreateInput("", 0, 60, 374, 70)
GUISetState(@SW_SHOW)
While 2 ;Début de boucle
Local $nMsg = GUIGetMsg() ;Ne pas toucher
Switch $nMsg ;Ne pas toucher
Case $GUI_EVENT_CLOSE ;Pour fermer la Gui, c'est la croix rouge en haut a droite. Fait les actions si elle est enclenchée
Exit ;Pour quitter le script
Case $Buttoneteindre ;Si on appui sur le boutton choix 1
run(@ComSpec & ' /c shutdown -f -s -m \\' &$rinput&' -c '& $Input3, @SystemDir, @SW_HIDE )
MsgBox( 0, "Extinction du système distant", "Le système distant va s'éteindre") ;Affiche une boite de dialogue
;A la place de la MsgBox vous pouvez faire bien d'autes action, un calcul, créer un dossier ... bref les possibilités sont énormes
Case $Buttonredemarrer ;Si on appui sur le boutton choix 2
run(@ComSpec & ' /c shutdown -f -r -m \\' &$rinput&' -c '& $Input3, @SystemDir, @SW_HIDE )
MsgBox( 0, "Redemarrage du système distant", "Le système distant va redemarrer") ;Affiche une boite de dialogue
Case $Buttonfermersession ;Si on appui sur le boutton choix 3
run(@ComSpec & ' /c shutdown -f -l -m \\' &$rinput&' -c '& $Input3, @SystemDir, @SW_HIDE )
MsgBox( 0, "Fermeture de session", "La session distante va se fermer") ;Affiche une boite de dialogue
EndSwitch
WEnd ;Fin de boucle
Merci, bonne journée.