Autohotkey - 设置热键切换(禁用 - 启用一个洞的 autohotkey 脚本)

Autohotkey - 设置热键切换(禁用 - 启用一个洞的 autohotkey 脚本)

你好,我曾经在 Autohotkey 脚本的开头使用切换键在完全禁用它和完全启用它之间切换 scrolllock:: Pause

但它不再起作用了,而且我意识到如果我设置它,它将不允许我设置变量。例如

scrolllock:: Pause
var := 29    ; <--- this var will not be set cuz the line above

只有我删除上面的行才会设置,我已经测试过了。

我已尝试将其改为...

f12::
Pause
Suspend
return

但它不适用于 scrollock 键,我想我需要设置一个键状态

我该怎么做呢,谢谢高级。

答案1

这段代码永远不会运行

scrolllock:: Pause

var := 29 

F1:: MsgBox, %var%

因为您尝试在热键之间设置一个变量。

必须在脚本的自动执行部分(脚本顶部,第一个返回或热键之前)定义一个变量

; top of the script:
var := 29
    return      ; end of auto-execute section

scrolllock:: Pause

F1:: MsgBox, %var%

或热键

scrolllock:: Pause

F1:: 
var := 29
MsgBox, %var%
return 

或者在一个函数中。

答案2

AHK 单行命令

只需放在Pause新行并添加return语句即可。

scrolllock:: Pause ; <-- Quick One-liner Script
    var := 29      ; <-- Not executed

scrolllock:: ; <-- Full Script
    Pause
    var := 29
    return   ; <-- Explicit return statement needed

如果第一行有代码,AHK 会认为这是一行简单的代码,并在末尾添加隐式返回。因此var := 29之后将不会执行。

相关内容