Что нового

Пауза работы скрипта после нажатия определённых клавиш.

Math

Новичок
Сообщения
85
Репутация
1
Как сделать паузу работу скрипта после нажатия определённых клавиш? Например, Ctrl+Enter+F12.

При этом, нужно что бы скрипт полностью останавливался.
Т.е. останавливались все паузы, таймеры. А при повторном нажатии на эти клавиши скрипт возобновлял свою работу с того места, на котором работал до нажатия.
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Можно так :
Код:
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>

Global $iYes=1, $iI=0
HotKeySet("^{F12}+{ENTER}","Pause")

$hForm = GUICreate('Test',200, 300)
GUISetBkColor(0xECE9D8)

$Lab=GUICtrlCreateLabel("", 10, 10, 180, 20, 0x1000)

GUISetState()

While 1
	$nMsg = GUIGetMsg()
	
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case Else
			Working()
	EndSwitch
WEnd

Func Working()
	$iI+=1
	GUICtrlSetData($Lab, $iI)
	;Sleep(500)
           Sleep(5)
EndFunc

Func Pause()
	$iYes=Not $iYes
	While 1
		If $iYes Then ExitLoop
		Sleep(50)
	WEnd
EndFunc
 

PoMa3aH

Новичок
Сообщения
2
Репутация
1
я использую такой код в скриптах, пауза скрипта "Pause", отмена "F11", можно переназначить кнопки
Пауза останавливает скрипт до повторного нажатия кнопки паузы, Выход - полностью завершает выполнение скрипта.
Код:
;Кнопка Пауза и Завершить
Global $Paused
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{F11}", "Terminate")

Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
	sleep(50)
        ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
EndFunc
Func Terminate()
    Exit 0
EndFunc ;клавиши Пауза и Выход назначены
 

agikon

Знающий
Сообщения
789
Репутация
17
а что означает
Код:
Exit  0

первый раз такое вижу.
 

agikon

Знающий
Сообщения
789
Репутация
17
то есть
Код:
Exit   0

это тоже самое что и
Код:
Exit


так а 0 зачем ставить?
 

PoMa3aH

Новичок
Сообщения
2
Репутация
1
Exit, Exit 0 или Exit(0) равносильны, поэтому можно и не ставить 0 )
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Вообще-то это пример из справки .
Поэтому стоит заглянуть в справку для ф-ии HotKeySet.

А если заглянуть поиском по форуму найдется еще не одна аналогичная тема.
Даже можно не задавать поиск , а посмотреть на этой странице в разделе: Похожие темы.
жаль времени.
 
Верх