You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用AutoHotKey编写接收并执行命令文本的函数?

在AutoHotKey中执行动态命令文本的函数实现

完全可行,AutoHotKey支持动态执行字符串形式的命令文本,下面分v1和v2两个主流版本给出具体实现方案:

AutoHotKey v1 实现

利用v1的动态表达式特性,直接通过%符号执行传入的命令字符串:

ExecuteCommand(cmdText) {
    %cmdText%
}

; 调用示例
ExecuteCommand("Click, 50, 50")
ExecuteCommand("MsgBox, 测试动态执行命令")

注意:传入的命令文本必须符合AHK v1的语法规范,比如参数用逗号分隔、变量引用加%包裹。

AutoHotKey v2 实现

v2语法更结构化,有两种常用实现方式:

方法1:使用Eval函数(推荐,需v2.0.6及以上版本)

ExecuteCommand(cmdText) {
    Eval(cmdText)
}

; 调用示例
ExecuteCommand("Click(50, 50)")
ExecuteCommand("MsgBox('测试动态执行命令')")

方法2:使用ScriptControl对象(兼容旧版v2)

ExecuteCommand(cmdText) {
    sc := ScriptControl()
    sc.Execute(cmdText)
    sc.Delete()
}

; 调用示例
ExecuteCommand("Click 50, 50")
ExecuteCommand("MsgBox '测试动态执行命令'")

通用注意事项

  • 传入的命令文本必须严格匹配对应AHK版本的语法,否则会执行失败。
  • 不要执行来源不可信的命令文本,避免安全风险。

内容的提问来源于stack exchange,提问作者Won Jin Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 14:03:18