[R] Script ne pause pas si la gui n'est pas affiché
Posté : lun. 19 janv. 2015 19:10
par jl56
Bonjour à tous,
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é
Avez vous une suggestion SVP
Merci
JL56
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