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

如何在每次启动指定程序时自动向其发送AHK命令(无需手动按键)

如何在每次启动指定程序时自动向其发送AHK命令(无需手动按键)

嘿,我来帮你搞定这个问题!首先得指出你原来代码的核心问题:#If是用来定义热键/热字符串的上下文条件的,不是用来包裹普通执行代码的——你的代码结构错了,所以根本不会自动触发执行逻辑。

下面给你两种实用的解决方案,根据你的使用场景选就行:

方案一:通过AHK脚本直接启动程序并自动执行操作

如果你愿意把桌面快捷方式改成指向AHK脚本,这个方案最简单直接。脚本会自己启动目标程序,然后按顺序执行你的操作:

; 替换成你的Program.exe的实际路径,记得加引号
Run, "C:\你的程序路径\Program.exe"
; 等待程序窗口出现,超时10秒(可调整)
WinWait, ahk_exe Program.exe, , 10
if ErrorLevel {
    MsgBox, 程序启动超时啦!
    ExitApp
}
; 设置鼠标坐标以目标窗口为基准
CoordMode, Mouse, Window
; 给程序一点时间完全加载(根据程序启动速度调整Sleep时长)
Sleep, 1000

; 右键点击指定位置
ControlClick, x86 y143, ahk_exe Program.exe,, Right, 1
Sleep, 2000
; 左键双击指定位置
ControlClick, x282 y130, ahk_exe Program.exe,, Left, 2
Sleep, 500
; 发送文本(用SendInput比Send更可靠)
SendInput, abcd

; 操作完成后可以退出脚本,也可以保留着看情况
ExitApp

使用方法:把脚本里的程序路径改成你实际的路径,然后把桌面的原程序快捷方式替换成指向这个AHK脚本的快捷方式,双击它就会自动完成所有操作。

方案二:后台监控程序启动,自动触发操作

如果你希望不管通过什么方式启动Program.exe(比如双击原快捷方式、其他程序调用),都能自动执行操作,就用这个后台监控的方案:

#Persistent ; 让脚本一直在后台运行
SetTimer, CheckProgramStatus, 1000 ; 每秒检查一次程序状态

CheckProgramStatus:
    ; 检查程序窗口是否存在
    if WinExist("ahk_exe Program.exe") {
        ; 记录当前窗口ID,避免重复执行(比如程序重启时)
        currentWindowID := WinExist("ahk_exe Program.exe")
        if (currentWindowID != lastHandledWindowID) {
            lastHandledWindowID := currentWindowID
            ; 等待窗口激活就绪,超时10秒
            WinWaitActive, ahk_exe Program.exe,, 10
            if ErrorLevel {
                lastHandledWindowID := "" ; 重置,下次重新检查
                return
            }
            CoordMode, Mouse, Window
            Sleep, 1000
            ControlClick, x86 y143, ahk_exe Program.exe,, Right, 1
            Sleep, 2000
            ControlClick, x282 y130, ahk_exe Program.exe,, Left, 2
            Sleep, 500
            SendInput, abcd
        }
    } else {
        lastHandledWindowID := "" ; 程序关闭后重置ID
    }
return

使用方法:运行这个脚本后,它会在后台默默监控。你可以把它加入开机启动,这样每次开机后都会自动生效。

几个重要的注意事项:

  • 调整Sleep时长:不同程序的启动加载速度不一样,如果你发现操作执行时程序还没准备好,就适当增加Sleep的数值(单位是毫秒)。
  • 确认坐标准确性:用AHK自带的「Window Spy」工具(右键托盘区的AHK图标就能打开),可以精准获取目标窗口内的坐标,避免点错位置。
  • 权限问题:如果你的Program.exe需要管理员权限运行,那AHK脚本也要右键选择「以管理员身份运行」,否则可能无法控制程序。
  • SendInput更可靠:发送文本时优先用SendInput,它比默认的Send速度更快、稳定性更强。

备注:内容来源于stack exchange,提问作者yfjuu 0

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 12:19:34