Dans mon application, je lance dès l'ouverture une tâche X avec la fonction Adlibregister. J'ai ajouté une CheckBox, et en fonction de son état, je voudrais que soit la tâche X continue si true, ou bien la tache se termine et n'est pas relancée. Et si on recoche la CheckBox, la tache X est relancée...
De plus j'ai un compteur dans ma StatusBar, qui se décrémente. Et là elle ne se décrémente plus...
Comment faire car je tourne en rond là ^^
Ci joint mon code.
Merci par avance pour votre aide.
► Afficher le texte
Code : Tout sélectionner
#AutoIt3Wrapper_Run_AU3Check=n
Opt("GUIOnEventMode", 1)
Opt("MouseCoordMode", 2)
;==[Include]====
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#Include <File.au3>
#include <Array.au3>
#include <SliderConstants.au3>
#include <ListviewConstants.au3>
#include <ScreenCapture.au3>
#include <Timers.au3>
#include <GuiStatusBar.au3>
#include <Color.au3>
#include <Date.au3>
#include <GuiListView.au3>
#include <StringSize.au3>
#include <ComboConstants.au3>
#include <StaticConstants.au3>
#include <MsgBoxConstants.au3>
#include <GuiImageList.au3>
#include <GuiButton.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
;==[Global variables]====
Global $ApplicationName = "", $MainGUI, $Wcurve = 800, $Left = 50
Global $hStatus, $aParts[4] = [200, 450, 700, 200], $iTimer1, $iTime = 5000, $hAdlibTimer, $Checkbox1
_BuildMainGUI()
While GUIGetMsg() <> -3
WEnd
Func _BuildMainGUI();Main Graphical User Interface
$MainGUI = GUICreate($ApplicationName & " Powered by Ant-Man", 1200, 730, -1, -1)
$Size = WinGetClientSize($MainGUI)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$hStatus = _GUICtrlStatusBar_Create($MainGUI, -1, "", $SBARS_TOOLTIPS)
_GUICtrlStatusBar_SetParts($hStatus, $aParts)
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", $hStatus, "wstr", 0, "wstr", 0)
;_GUICtrlStatusBar_SetBkColor($hStatus, 0xf2e300)
$hIcons = _WinAPI_LoadShell32Icon(265)
_GUICtrlStatusBar_SetIcon($hStatus, 0, $hIcons)
$hIcons2 = _WinAPI_LoadShell32Icon(170)
_GUICtrlStatusBar_SetIcon($hStatus, 1, $hIcons2)
$hIcons3 = _WinAPI_LoadShell32Icon(238)
_GUICtrlStatusBar_SetIcon($hStatus, 2, $hIcons3)
$hIcons4 = _WinAPI_LoadShell32Icon(172)
_GUICtrlStatusBar_SetIcon($hStatus, 3, $hIcons4)
GUIRegisterMsg($WM_TIMER, "WM_TIMER")
$iTimer1 = _Timer_SetTimer($MainGUI, 1000)
$Checkbox1 = GUICtrlCreateCheckbox("", $Wcurve + 100, 650, 13, 13)
GUICtrlSetState($Checkbox1, True)
_GUICtrlStatusBar_SetText($hStatus, StringUpper(@username) & " on " & @ComputerName & " (" & @IPAddress1 & ")", 1)
_GUICtrlStatusBar_SetText($hStatus, $ApplicationName & ".", 3)
GUISetState(@SW_SHOW, $MainGUI)
AdlibRegister("_Checked", 2000)
EndFunc;==>_BuildMainGUI()
Func _Checked()
If _IsChecked($Checkbox1) Then
ConsoleWrite("You checked!!!" & @CRLF)
$hAdlibTimer = TimerInit()
AdlibRegister("_MafonctionX", $iTime)
AdlibRegister("_AdlibFunctionCountDown", 1000)
Else
ConsoleWrite("Unchecked!!!" & @CRLF)
AdlibUnRegister("_MafonctionX")
AdlibUnRegister("_AdlibFunctionCountDown")
EndIf
EndFunc
Func _MafonctionX()
EndFunc
Func _AdlibFunctionCountDown()
$iTimeCount = Ceiling(($iTime - TimerDiff($hAdlibTimer)) / 1000) & " s"
ConsoleWrite($iTimeCount & @CRLF)
If $iTimeCount < 1 Then
AdlibUnRegister("_MafonctionX")
AdlibUnRegister("_AdlibFunctionCountDown")
$hAdlibTimer = TimerInit()
AdlibRegister("_MafonctionX", $iTime)
AdlibRegister("_AdlibFunctionCountDown", 1000)
EndIf
_GUICtrlStatusBar_SetText($hStatus, $iTimeCount, 2)
EndFunc
Func _IsChecked($idControlID)
Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc ;==>_IsChecked
Func WM_TIMER($hWnd, $iMsg, $iwParam, $ilParam)
#forceref $hWnd, $iMsg, $ilParam
Switch _Timer_GetTimerID($iwParam)
Case $iTimer1
_UpdateStatusBarClock()
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_TIMER
Func _UpdateStatusBarClock()
_GUICtrlStatusBar_SetText($hStatus, @TAB & StringFormat(_NowDate() & " " & "%02d:%02d:%02d", @HOUR, @MIN, @SEC), 0)
EndFunc
Func _Exit()
Exit
EndFunc



