Тема: АНК: Checkbox в роли индикатора состояния + хоткей на него
Доброго времени суток
Почти написал свою программу, сейчас занимаюсь ГУИ. Осталось разобраться с ЧекБоксами и хоткеями на него.
Есть 8 чекбоксов (будет возможно еще несколько) в моей оболочке.
Мне нужно, чтобы по Хоткею на клавиатуре активировался тот или иной скрипт (на каждый чекбокс по скрипту). При этом, при повторном нажатии Хоткея скрипт останавливался. Если нужно дальше также запускался и останавливался.
Но при этом, помимо хоткея, чтобы было также доступно Вкл/выкл того же скрипт по нажатию/удалению галочки в чекбоксе.
И чекбокс служил неким индикатором для скрипт.
Примеры:
# Нажал ф12, поставилась галочка в нужном чекбоксе и включился сам скрипт, нажал еще раз ф12, убралась галка и выключился скрипт.
# Аналогично, поставил галочку в чекбоксе вручную - запустился скрипт, убрал - остановился.
Приведу в конкретном примере 2 скрипта и 2 чекбокса, для наглядности:
#NoEnv
#NoTrayIcon
Gui, Add, CheckBox, x32 y109 w190 h20 , Накрутка часов на штурме
Gui, Add, CheckBox, x32 y139 w190 h20 , Обратный Ренейм окон
; Скрипт для 1го чекбокса
F12::
Loop
{
WinActivate, Bot2
SetWinDelay, 200
Send {Esc}
Send {Esc}
Send {Esc}
MouseMove, 460, 290
SetMouseDelay, 15
Click 4
MouseMove, 650, 340
SetMouseDelay, 15
Click 4
Sleep 1000
WinActivate, Bot4
SetWinDelay, 200
Send {Esc}
Send {Esc}
Send {Esc}
MouseMove, 460, 290
SetMouseDelay, 15
Click 4
MouseMove, 650, 340
SetMouseDelay, 15
Click 4
Sleep 1000
WinActivate, Bot3
SetWinDelay, 200
Send {Esc}
Send {Esc}
Send {Esc}
MouseMove, 460, 290
SetMouseDelay, 25
Click 4
MouseMove, 650, 340
SetMouseDelay, 25
Click 4
Sleep 2000
WinActivate, Bot1
SetWinDelay, 200
Send {Esc}
Send {Esc}
Send {Esc}
MouseMove, 460, 290
SetMouseDelay, 25
Click 4
MouseMove, 650, 340
SetMouseDelay, 25
Click 4
Sleep 1000
WinActivate, Bot2
SetWinDelay, 200
MouseMove, 650, 340
SetMouseDelay, 25
Click 4
Sleep 1750000
Send {Esc}
MouseMove, 400, 240
SetMouseDelay, 25
Click 4
Sleep 80
MouseMove, 345, 285
SetMouseDelay, 25
Click 4
Sleep 2000
WinActivate, Bot4
SetWinDelay, 200
MouseMove, 650, 340
SetMouseDelay, 25
Click 4
Sleep 80
Send {Esc}
MouseMove, 400, 240
SetMouseDelay, 25
Click 4
Sleep 80
MouseMove, 345, 285
SetMouseDelay, 25
Click 4
Sleep 2000
}
Return
; Скрипт для 2го чекбокса
F12::
Win := {}, Win.Free := {}, Win.Count := 0
WinGet, List, List, ahk_exe %exe%
Loop %List%
{
hwnd := List%A_Index%
WinSetTitle, ahk_id %hwnd%, , ИмяОкна
}
Return
На форуме искал, несколько примеров, отдаленно похожих, я нашел, убил 2 дня, выходило что-то непонятное.
Прошу помощи, о великие