Je voulais faire un script simple pour faire des pauses programmable dans un bath
il fonctionne bien quand la gui est affiché mais pas quand elle caché
► Afficher le texte
Code : Tout sélectionner
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Comment=Utilitaire de Jean-luc
#AutoIt3Wrapper_Res_Description=Pause programmable pour utilisation dans un bath
#AutoIt3Wrapper_Res_Fileversion=0.0.0.4
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_Language=1036
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
Local $begin = TimerInit()
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $Form1 = GUICreate("Pause", 635, 146, 192, 114)
GUISetBkColor(0x00FFFF)
Global $Quitter = GUICtrlCreateButton("Quitter", 120, 96, 121, 33)
GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0xFF0000)
Global $Inp_pause = GUICtrlCreateInput("", 120, 32, 121, 21)
Global $Inp_reste = GUICtrlCreateInput("", 120, 64, 121, 21)
Global $Label1 = GUICtrlCreateLabel("Pause de ", 24, 40, 52, 17)
Global $Label2 = GUICtrlCreateLabel("Fin de pause dans", 24, 72, 91, 17)
Global $Label3 = GUICtrlCreateLabel("secondes", 248, 40, 50, 17)
Global $Label4 = GUICtrlCreateLabel("secondes", 248, 72, 50, 17)
GUISetState(@SW_HIDE)
#endregion ### END Koda GUI section ###
$temps = 1
$type = ""
$affiche = ""
Local $dif = 0
If $cmdline[0] <> "0" Then
;MsgBox(0, "avant num ", number($cmdline[0]))
If $cmdline[0] > "0" Then $temps = Number($cmdline[1])
If $cmdline[0] > "1" Then $type = StringLower($cmdline[2])
If $cmdline[0] > "2" Then $affiche = StringLower($cmdline[3])
If $type <> "s" And $type <> "m" And $type <> "h" Then
MsgBox(0, "Programme pour générer une pause dans un bath", "Exemple" & @CRLF & "pauseforum.exe 30 S = pause de 30 secondes" & @CRLF & _
"pauseforum.exe 90 M = pause de 90 minutes" & @CRLF & _
"pauseforum.exe 2 H A = pause de 2 heures avec affichage et décompte du temps", 60)
Exit
EndIf
If $affiche = "a" Then
GUISetState(@SW_SHOW)
Else
GUISetState(@SW_hide)
EndIf
If $type = "s" Then $temps = $temps * 1000
If $type = "m" Then $temps = $temps * 1000 * 60
If $type = "h" Then $temps = $temps * 1000 * 60 * 60
GUICtrlSetData($Inp_pause, $temps / 1000)
Do
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Quitter
Exit
EndSwitch
$dif = TimerDiff($begin)
Sleep(1000)
GUICtrlSetData($Inp_reste, Int(($temps - $dif) / 1000))
Until $dif > $temps
Else
MsgBox(0, "Programme pour générer une pause dans un bath", "Exemple" & @CRLF & "pauseforum.exe 30 S = pause de 30 secondes" & @CRLF & _
"pauseforum.exe 90 M = pause de 90 minutes" & @CRLF & _
"pauseforum.exe 2 H A = pause de 2 heures avec affichage et décompte du temps", 60)
EndIfMerci
JL56



