kvitnitskiy
Новичок
- Сообщения
- 56
- Репутация
- 0
Доброго времени суток уважаемые форумчане.
ПРошу сильно не пинать, уверен тема поднималась, перепробовал пару/тройку найденных вариантов - не работает :(.
Вопрос в следующем, как по кнопке остановить выполнение скрипта(не закрывая GUI) если скрипт зацыклен, и при необходимости его потом снова запустить опять по кнопке..
Есть некий скрипт, который после нажатия на кнопку обновить - каждые № секунд выполняет определенное действие и так до бесконечности. Хотелось бы иметь вожможность останавливать его. пока только через иконку в трее есть возможность.
ПРошу сильно не пинать, уверен тема поднималась, перепробовал пару/тройку найденных вариантов - не работает :(.
Вопрос в следующем, как по кнопке остановить выполнение скрипта(не закрывая GUI) если скрипт зацыклен, и при необходимости его потом снова запустить опять по кнопке..
Есть некий скрипт, который после нажатия на кнопку обновить - каждые № секунд выполняет определенное действие и так до бесконечности. Хотелось бы иметь вожможность останавливать его. пока только через иконку в трее есть возможность.
Код:
#Region ************ Includes ************
#Include <GUIConstantsEx.au3>
#Include <WindowsConstants.au3>
#Include <Date.au3>
#EndRegion ************ Includes ************
HotKeySet("{F1}", "Pause")
Global $Paused
Func Terminate()
Exit 0
EndFunc ;==>Terminate
Func Pause()
$Paused = Not $Paused
While $Paused
Sleep(10)
ToolTip("F1")
WEnd
ToolTip("")
EndFunc ;==>Pause
$DesktopWidth = @DesktopWidth
$DesktopHeight = @DesktopHeight
$Form1 = GUICreate("ShipBoard Refresher", 200, 80, $DesktopWidth -209, $DesktopHeight - $DesktopHeight, BitOR($GUI_Ss_Default_Gui, $DS_ModalFrame), BitOR($WS_Ex_Topmost, $WS_Ex_WindowEdge))
$TimeNow = GUICtrlCreateLabel(_Now(), 4, 1, 200, 28)
GUICtrlSetFont($TimeNow, 16)
$Label1 = GUICtrlCreateLabel("Обновление через", 4, 30, 158, 17)
$CounterLabel = GUICtrlCreateLabel("120", 120, 25, 61, 47)
GUICtrlSetFont($CounterLabel, 10)
$RefreshButton = GUICtrlCreateButton("Обновить!", 4, 48, 83, 29)
$StopButton = GUICtrlCreateButton("Остановить!", 90, 48, 83, 29)
GUISetState(@SW_SHOW)
Func Refresh()
For $Counter = 120 To 0 Step -1
GUICtrlSetData($TimeNow, _Now())
GUICtrlSetFont($TimeNow, 16)
GUICtrlSetData($CounterLabel, $Counter)
GUICtrlSetFont($CounterLabel, 24)
Sleep(1000)
Next
ControlClick("ABC Solutions", "", "[NAME:_MCSToolBar_Toolbars_Dock_Area_Top]", "left", 1, 95, 15)
Refresh()
sleep(2000)
EndFunc
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_Event_Close
Exit
Case $RefreshButton
Refresh()
EndSwitch
WEnd