#Requires [v1.1.33+]

如果不符合版本要求, 则显示错误并退出.

#Requires Requirement

参数

Requirement

如果不是以单词 "AutoHotkey" 开头, 则显示错误消息并退出程序. 这将保证清晰, 并为将来的使用保留指令. AutoHotkey 的其他分支可能支持其他名称.

否则, 单词 "AutoHotkey" 后面应该跟下列任意组合, 并用空格或制表符分隔:

错误消息

显示的消息取决于解释该指令的 AutoHotkey 的版本.

[v1.1.33+]: 仅当需要不同版本的 AutoHotkey 时才显示当前的 AutoHotkey 版本.

[v1.1.36+]: AutoHotkey 的路径, 版本和构建总是显示在错误消息中.

如果脚本启动时使用的 AutoHotkey 版本不支持这个指令, 错误信息如下:

Line Text: #Requires %Requirement%
Error: This line does not contain a recognized action.

备注

如果脚本使用了在早期版本中不可用的语法或函数, 使用这条指令可以确保错误信息显示未满足的要求, 而不是显示任意的语法错误. 这不能用 if (A_AhkVersion <= "1.1.33") 这样的指令来做, 因为在脚本的其他地方出现语法错误会使脚本无法执行.

当分享一个脚本或在网上发布代码时, 使用这个指令可以让任何发现代码的人很容易地识别出它是为哪个版本的 AutoHotkey 准备的.

其他程序或脚本可以出于各种目的检查这个指令. 例如, 安装 AutoHotkey v2 自带的启动器可能会用它来决定启动哪个 AutoHotkey 可执行文件, 而脚本编辑器或相关工具可能会用它来决定如何解释或突出显示脚本文件.

版本字符串是以一系列点分隔的部分进行比较, 后面的连字符和预发布标识符是可选的.

尾部的 "+" 足以向读者表明可以接受更晚的版本, 但不是必须的.

和其他指令一样, #Persistent 不能有条件地执行.

VerCompare(), #ErrorStdOut

示例

使该脚本仅在 v1.1.33.00 及以后的 v1.* 版本上运行.

#Requires AutoHotkey v1.1.33+
MsgBox This script will run only on v1.1.33.00 and later v1.* releases.

使脚本只能在版本 1.1.36.00 和之后的 v1.1.* 的版本上运行.

#Requires AutoHotkey >=1.1.36 <1.2

使脚本仅在 64 位解释器(EXE) 下运行.

#Requires AutoHotkey 64-bit

使脚本只在 64 位解释器(EXE) 版本 1.1.36.00 或更高版本上运行.

#Requires AutoHotkey v1.1.36 64-bit