现在很多新手会直接让 AI 生成 AHK 脚本,这确实能提高入门速度,但也带来一个新问题:AI 很容易写出“看起来像 AHK、实际一运行就卡住”的代码。尤其是本站主要以 AHK v1 为主,如果提示词不说清楚版本,AI 经常把 v1、v2 语法混在一起。

用 AI 写 AHK,不要把它当成“直接交付脚本”的工具,更适合把它当成“草稿生成器”。真正能不能用,还要看热键、窗口、权限、路径、等待、异常处理这些细节。

一、没说清 AHK 版本

AHK v1 和 v2 差别很大。新手最常见的坑就是:自己电脑装的是 v1,AI 却写了 v2 语法;或者前半段是 v1,后半段突然变成 v2。

#Requires AutoHotkey v1.1
#NoEnv
#SingleInstance Force
SetWorkingDir, %A_ScriptDir%

^!c::
    MsgBox, 这是 AHK v1 热键写法
return

让 AI 写脚本时,提示词里最好明确写上:“请使用 AutoHotkey v1.1 语法,不要使用 v2 写法”。这样可以减少函数调用、变量引用、对象语法混乱的问题。

二、热键后面忘记 return

AI 有时会生成多个热键,却忘记在每个热键逻辑后加 return。在 AHK v1 里,这会导致代码继续往下执行,出现莫名其妙的连带动作。

^1::
    MsgBox, 触发 Ctrl+1
return

^2::
    MsgBox, 触发 Ctrl+2
return

新手检查 AI 代码时,看到 :: 热键,就顺手往下找对应的 return。这是最简单也最有效的验收动作之一。

三、只写 Sleep,不等窗口真正出现

AI 很喜欢用 Sleep, 1000 解决所有等待问题,但实际电脑速度、软件启动速度、网络状态都不稳定。稳定脚本应该等待明确条件。

Run, notepad.exe
WinWait, ahk_exe notepad.exe,, 3
if ErrorLevel
{
    MsgBox, 记事本没有在 3 秒内出现
    return
}

WinActivate, ahk_exe notepad.exe
WinWaitActive, ahk_exe notepad.exe,, 2
if ErrorLevel
{
    MsgBox, 记事本没有成功激活
    return
}

SendInput, 你好,AHK66

真正可靠的脚本,不是“睡一会儿再试”,而是“等窗口存在、等窗口激活、等内容出现、等剪贴板有数据”。

四、复制粘贴不备份剪贴板

AI 写自动复制时,经常直接 Send, ^c 后读取 Clipboard,没有清空、没有 ClipWait,更没有恢复用户原来的剪贴板。这样的脚本用久了很容易影响日常工作。

ClipSaved := ClipboardAll
Clipboard := ""
SendInput, ^c
ClipWait, 1
if ErrorLevel
{
    Clipboard := ClipSaved
    ClipSaved := ""
    MsgBox, 复制失败
    return
}

text := Clipboard
Clipboard := ClipSaved
ClipSaved := ""
MsgBox, %text%

凡是 AI 代码里出现复制、粘贴、剪贴板,都要重点检查是否备份恢复、是否等待成功、失败后是否能退出。

五、路径写死在作者电脑上

AI 有时会写出 C:\Users\xxx\Desktop\file.txt 这类路径。脚本放到别人电脑、换个目录、打包到计划任务后,就可能直接失效。

dataFile := A_ScriptDir "\data.txt"
if !FileExist(dataFile)
{
    MsgBox, 找不到文件:%dataFile%
    return
}

能相对脚本目录定位的文件,优先用 A_ScriptDir。如果必须写绝对路径,也要让脚本启动时先检查文件是否存在。

六、没有考虑管理员权限

AI 看到“点按钮、发按键”就会直接写 ClickSend,但如果目标窗口是管理员权限运行,而脚本不是管理员权限,很多操作会失败。表现就是窗口明明在前面,脚本却点不动、发不了键。

不是所有脚本都要管理员权限,但涉及系统设置、安装器、管理员程序时,要先判断权限差异。权限问题不要和代码语法问题混在一起排查。

七、让 AI 写代码时的推荐提示词

请使用 AutoHotkey v1.1 语法。
代码要包含:
1. #NoEnv 和 #SingleInstance Force
2. 热键后要有 return
3. 路径使用 A_ScriptDir
4. 窗口操作要用 WinWait / WinWaitActive
5. 剪贴板操作要备份恢复并使用 ClipWait
6. 失败时用 MsgBox 提示原因

这段提示词不一定让 AI 一次写完美,但能显著减少低级错误。更重要的是,新手可以按这 6 条反过来验收 AI 生成的脚本。

结语

AI 能帮你快速生成 AHK 草稿,但不能替你理解 Windows 自动化。越是看起来“几行就能搞定”的脚本,越要检查版本、热键、等待、权限、路径和剪贴板。把 AI 当助手,不要把它当最终答案,脚本才会越来越稳。

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。