首页 > 解决方案 > 了解为什么我的 AutoHotkey 变量没有被分配

问题描述

我正在尝试将字符串分配给变量,然后让热键发送该变量的值。

我已经有一个功能示例,我使用f1发送带有一些自动自动热键变量的文本字符串,例如%A_MM% %A_DD%%A_YYYY%用于快速简单的日期戳:

 f1::
     Send, (WTC %A_MM%/%A_DD%/%A_YYYY% %A_Hour%:%A_Min%) :{space} ; press f1
 Return

我试着写这个来测试:

 v_test := "testing string in v_test"
 f2::
      MsgBox, %v_test%
 RETURN

但是消息框出现空白。为什么消息框不显示“v_test 中的测试字符串”?

标签: autohotkey

解决方案


变量从未初始化,因为该变量未包含在自动热键脚本的自动执行部分中。

为了解决这个问题,我必须将变量声明放在脚本的顶部,在任何 RETURN、EXIT、热键或热脚本之前。我也可以将变量写为 GLOBAL,在函数内部,然后调用该函数。


推荐阅读