你好,我曾经在 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
之后将不会执行。