如何无需按任何键,只需每次运行特定程序即可自动将 AHK 的某些命令发送到特定程序?

如何无需按任何键,只需每次运行特定程序即可自动将 AHK 的某些命令发送到特定程序?

  • 我是 Autohotkey 的新手,我使用的是 V1.1+

  • 我想在每次运行时自动将一些 AHK 命令发送到特定程序,而无需按任何键,只需运行特定程序即可,例如:

  • 每次我通过单击桌面上的快捷方式运行特定的程序(“Program.exe”)时,我想在运行它之后自动向其发送一些命令,而无需按任何键。

  • 我尝试过这个,但是没有用:

    #If WinActive("ahk_exe programe.exe")
    WinWait, ahk_exe programe.exe
    CoordMode, Mouse, Window
    ControlClick, x86 y143,,,Right,1
    Sleep, 2000
    ControlClick,x282 y130 ,,,Click, 2
    send, abcd
    return
    #If
    
  • 有人能帮忙吗?我会很感激,谢谢。

答案1

使用批处理文件首先运行 AutoHotKey 命令,然后启动应用程序,或者反之亦然.在桌面上创建.bat文件的快捷方式。

例如,在 .bat 文件中使用以下两行脚本,改编自另一个问题

start "C:\Program File\app folder\app.exe"
"C:\Program Files\AutoHotkey\AutoHotkey.exe" D:\path\to\the\script\script.ahk

您可能需要反转行的顺序,或修改使用开始启动应用程序并立即跳转到 AutoHotkey。

答案2

AHK V1 中最简单的方法是使用 处理命令 像这样:

loop {
    Process, Wait, programe.exe
    Sleep, 1000
    ... send clicks ...
    Process, WaitClose, programe.exe
}

这将给程序一秒钟的时间进行初始化,然后再发送点击。

相关内容