合并两个 AutoHotkey 脚本

合并两个 AutoHotkey 脚本

我有两个可以运行的脚本。当我将它们组合起来时,第二个脚本不起作用或导致脚本 1 出错。

脚本 1 = 我想要分配热键的简单菜单脚本。脚本 2 = 来自 AutoHotkey 论坛中名为 Tertius 的用户的小型启动器脚本。

查看合并的代码:http://pastebin.com/uuaDKNXu

查看脚本2中需要的Keywords.ini:http://pastebin.com/LtybdSxG

参见脚本1:http://pastebin.com/Wf3bMWd4

参见脚本2:http://pastebin.com/sFjVAGqE

答案1

我认为问题在于每个脚本都有一个自动执行部分,但只有第一部分正在被处理。使用 autohotkey,自动执行部分在第一次处理return关键字或热键标签时结束。$Tab::

我做了一个新的 pastebin将第二个脚本的自动执行部分转换为函数,然后使用 GoSub 调用它。

我通过将此行放在脚本 1 的开头(链接脚本中的第 102 行)来创建该函数:

popupMenuScriptStartup:

然后我们在脚本的第 10 行调用该函数:

GoSub popupMenuScriptStartup

答案2

成立使用多个 AHK 脚本的几种替代方法:#包括跑步

  • 如果第二个文件是方法/函数的集合,你可以简单地使用以下命令将其包含进去

    #include FullPathToFile.ahk
    

    在文件顶部。然后,您可以根据需要在第一个脚本中调用第二个脚本中的所有方法。

  • 如果第二个文件是独立脚本,其中包含需要作为启动的一部分运行的初始化,则可以Run从第一个脚本运行第二个脚本。您还需要在第一个脚本退出时关闭它:

    Run FullPathToSecondScript.ahk,,, pidToCloseOnExit
    ...
    WinClose, ahk_pid, pidToCloseOnExit
    Exit App
    

由于您尝试添加的脚本的性质,我认为第一个选项不适合您。

相关内容