我只是想使用相同的键盘映射(Ctrl + I)来切换命令:
#InstallKeybdHook
#UseHook
^i::
send, BLABLABLA
return
如果我按Ctrl + I,它将键入BLABLABLA(当然),并且我希望以一定的间隔(180秒)重复它,并且希望将其切换。怎么做?
答案 0 :(得分:1)
您将要使用a timer。
我不确定您为什么使用这两个#指令,它们没有对该脚本执行任何有用的操作。
但是关于使用计时器:
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
可以从我的here的先前答案中找到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
}