【发布时间】:2020-04-07 14:51:09
【问题描述】:
我只是想用相同的键映射(Ctrl + I)切换命令:
#InstallKeybdHook
#UseHook
^i::
send, BLABLABLA
return
如果我按 Ctrl+I,它会键入 BLABLABLA(当然),我想让它以一定的间隔(180 秒)重复,并且我希望它被切换。怎么做?
【问题讨论】:
标签: automation autohotkey
我只是想用相同的键映射(Ctrl + I)切换命令:
#InstallKeybdHook
#UseHook
^i::
send, BLABLABLA
return
如果我按 Ctrl+I,它会键入 BLABLABLA(当然),我想让它以一定的间隔(180 秒)重复,并且我希望它被切换。怎么做?
【问题讨论】:
标签: automation autohotkey
你会想要使用a timer。
而且我不确定你为什么要使用这两个#directives,它们对那个脚本没有做任何有用的事情。
但是关于使用计时器:SetTimer, TimerCallback, 180000
这将创建一个计时器,该计时器每 180,000 毫秒(180 秒)触发函数(或标签)TimerCallback。
当然,我们还没有定义函数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 变量状态切换的解释可以从我以前的答案here 中找到。
还包括一个可爱的小 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
}
【讨论】:
send, blablabla 和 180 秒后,send, asdfghjkl 如何做到这一点?