写一段ahk脚本模板,它有一个热键,在该段逻辑执行途中再次按下该热键会先终止逻辑然后重新开始执行
下面是一个基本的 AHK 脚本模板,它包含一个热键,并且在执行逻辑时可以使用该热键来终止并重新开始:
#NoEnv
#SingleInstance force
; 设置热键为 Ctrl+Alt+T
^!T::
; 检查是否已经在执行中
If (IsRunning) {
; 如果是,则停止并重新开始
IsRunning := false
Return
}
; 否则开始执行逻辑
IsRunning := true
Loop {
; 在这里编写你的逻辑代码...
Sleep, 1000
; 检查是否需要停止
If (!IsRunning) {
Return
}
}
该脚本使用了一个布尔变量 IsRunning 来记录当前是否在执行逻辑。当按下热键时,会检查该变量的值。如果为 true,则说明正在执行逻辑,此时会将变量设为 false 来停止执行并返回;否则会将变量设为 true 并开始执行逻辑。在逻辑执行中,会不断检查该变量的值,如果变为 false,则会立即停止执行并返回。
需要注意的是,AHK 脚本是单线程的,因此在逻辑执行中按下热键会导致整个脚本停止响应,直到逻辑执行完毕。如果需要在逻辑执行中响应其他事件,可以使用 SetTimer 函数来创建定时器,并使用 OnMessage 函数来处理 Windows 消息。这里就不再赘述了。
原文地址: https://www.cveoy.top/t/topic/AeM 著作权归作者所有。请勿转载和采集!