1

Тема: AHK: Код который бы переключал активный скрипт по нажатию кнопки

Здравствуйте друзья! Есть ли у  вас возможность подсказать как реализовать код который бы переключал активный скрипт по нажатию кнопки?

У меня есть 2 простых скрипта:

vk01:: Send, {vk76 down}
vk01 up:: Send, {vk76 up}
return

и

vk01:: Send, {vkA5 down}
vk01 up:: Send, {vkA5 up}
return

Возможно ли поместить их в один файл и переключать их активность одной кнопкой? Например запустили файл, работает первый скрипт а второй не работает. Если нажать кнопку "1" первый скрипт становится не активен но второй стал активен. Если еще раз нажать кнопку "1" то первый скрипт снова активен а второй не активен.
Возможно ли такое реализовать?

2 (изменено: __Михаил__, 2022-03-07 21:26:59)

Re: AHK: Код который бы переключал активный скрипт по нажатию кнопки

АХК позволяет манипулировать горячими клавишами по умолчанию, а тут используется строгая привязка к действию, что без условий #IF не обойти, либо менять переменным значения.

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3

Re: AHK: Код который бы переключал активный скрипт по нажатию кнопки

Вот вариант с переключением отправляемой клавиши по '1':

Keys := ["vk76", "vkA5"] ; F7, RAlt
SW := 1 ; Флаг клавиши.
Return

1:: SW := !SW	; Меняет клавишу отправки.
vk1:: SendInput, % "{" Keys[SW+1] " Down}"
vk1 Up:: SendInput, % "{" Keys[SW+1] " Up}"
Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

4

Re: AHK: Код который бы переключал активный скрипт по нажатию кнопки

Не проще #If?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Код который бы переключал активный скрипт по нажатию кнопки

Возможно, приведите сокращённый вариант.

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

6

Re: AHK: Код который бы переключал активный скрипт по нажатию кнопки

В каком смысле сокращённый? Тут нечего сокращать.

toggle := false
1:: toggle := !toggle

#If !toggle
LButton:: Send, {F7 down}
LButton up:: Send, {F7 up}

#If toggle
LButton:: Send, {RAlt down}
LButton up:: Send, {RAlt up}

Отличие здесь в том, что сразу видно, что код делает.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Код который бы переключал активный скрипт по нажатию кнопки

__Михаил__, teadrinker
Спасибо вам большое! Очень выручили.