Скрипт Autohotkey Toggle - PullRequest
       17

Скрипт Autohotkey Toggle

0 голосов
/ 07 апреля 2020

Я просто хочу переключить команду с тем же назначением клавиш (Ctrl + I):

#InstallKeybdHook
#UseHook

^i::
send, BLABLABLA
return

Если я нажимаю Ctrl + I, она набирает BLABLABLA (конечно), и я хочу сделать это повторяется с определенным интервалом (180 se c), и я хочу, чтобы он был переключен. Как это сделать?

1 Ответ

1 голос
/ 07 апреля 2020

Вы захотите использовать таймер .

И я не уверен, почему вы используете эти два # директивы, они не делают ничего полезного для этот сценарий.

Но об использовании таймера:
SetTimer, TimerCallback, 180000
Это создает таймер, который запускает функцию (или метку) TimerCallback каждые 180 000 мс (180 se c).
Конечно, нам еще предстоит определить функцию TimerCallback, поэтому давайте сделаем это сейчас:

TimerCallback()
{
     Tooltip, hi
}

А затем для включения / выключения таймера на горячей клавише:

^i::
     toggle := !toggle ;a convenient way to toggle a variable in AHK, see below of explanation
     if (toggle) ;if true
     {
          SetTimer, TimerCallback, 180000 ;turn on timer
          ;the function will only run for the first timer after 
          ;those 180 secs, if you want it to run once immediately
          ;call the function here directly:
          TimerCallback()
     }
     else
          SetTimer, TimerCallback, Off ;turn off timer
return

Объяснение для toggle := !toggle переключения состояния переменной можно найти в предыдущем моем ответе здесь .
Также включает в себя пример для милой маленькой 1liner таймера переключения горячей клавиши.


А вот полный пример сценария:

^i::
     toggle := !toggle ;a convenient way to toggle a variable in AHK, see below of explanation
     if (toggle) ;if true
     {
          SetTimer, TimerCallback, 180000 ;turn on timer
          ;the function will only run for the first timer after 
          ;those 180 secs, if you want it to run once immediately
          ;call the function here directly:
          TimerCallback()
     }
     else
          SetTimer, TimerCallback, Off ;turn off timer
return

TimerCallback()
{
     Tooltip, hi
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...