Тема: AHK: Активация \ дезактивация
Как сделать активацию и дезактивацию на одну кнопку? Прошу прощение, наверно, глупый вопрос.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как сделать активацию и дезактивацию на одну кнопку? Прошу прощение, наверно, глупый вопрос.
Что понимается под активацией и дезактивацией?
Что понимается под активацией и дезактивацией?
Допустим есть скрипт... Тоесть мы делаем активацию "F1::", ну и что бы дезактивация была на эту же "F1".
Всё равно непонятно. Речь о горячих клавишах, выполнении каких-то действий или другое?
Всё равно непонятно. Речь о горячих клавишах, выполнении каких-то действий или другое?
Именно, не так сформулировал
Лично в своих скриптах пользуюсь найденным на данном форуме вариантом старт-пауза на одну клавишу:
#MaxThreadsPerHotkey, 2
Vk51::
If A_IsPaused
{
Pause, Off
Return
}
Else
{
If Running
{
Pause, On
}
Else
{
Running := True
остальная часть кода
}
}
ReturnНу или так
#MaxThreadsPerHotkey 2
vk54::
T := !T
While T
ToolTip % A_TickCount
returnесли MaxThreadsPerHotkey мешает:
vk54::
T := !T
SetTimer, Loop, -1
return
Loop:
While T
ToolTip % A_TickCount
returnВот еще один вариант!
Vk51::
off := 1
Loop
{
Send, {vk54 down}{vk54 up}
Random, Rand, 10, 1000
sleep % Rand + 100
If off = 0
Break
}
return
Vk57::
off := 0
ReturnВариант с переменной:
x := 0 ; устанавливает по умолчанию статус "Не активно"
Vk0x70::
if x != 0
{
x = 0
MsgBox, Не активно
Return
}
if x = 0
{
x = 1
MsgBox, Активно
}
Return
В этой структуре удобнее редактировать фрагменты кода. Сам использую.
Если речь идет про деактивацию/активацию назначенных клавиш (hotkeys) и автозамен (hotstrings), то я использую такой вариант с оформлением:
; Pressing Win+A once will suspend hot keys of the script. Pressing it again will unsuspend.
#a::
Suspend ; suspend/unsuspend AHK script IMPORTANT: must be first string after "#a::", so "#a::" will not be suspended
if (A_IsSuspended==0)
{
Gui, Destroy
Gui, font, s55 cGreen, Verdana ; font size
Gui, Color, Red
Gui +LastFound ; Make the GUI window the last found window for use by the line below.
WinSet, TransColor, Red
Gui -Caption
Gui, Add, Text,, ON
Gui, Show
Sleep, 500
Gui, Destroy
return
}
else
{
Gui, Destroy
Gui, font, s55 cRed, Verdana ; font size
Gui, Color, Green
Gui +LastFound ; Make the GUI window the last found window for use by the line below.
WinSet, TransColor, Green
Gui -Caption
Gui, Add, Text,, OFF
Gui, Show
Sleep, 500
Gui, Destroy
return
}Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться