Объединить два скрипта AutoHotkey
У меня есть два действующих скрипта. Когда я объединяю их, второй не работает или вызывает ошибку в сценарии 1.
Скрипт 1 = простой скрипт меню, которому я хочу назначить горячие клавиши. Скрипт 2 = Небольшой скрипт запуска от пользователя Tertius на форуме AutoHotkey.
Смотрите слитые коды: http://pastebin.com/uuaDKNXu
См. Keywords.ini, необходимый в сценарии 2: http://pastebin.com/LtybdSxG
Сценарий 1: http://pastebin.com/Wf3bMWd4
Сценарий 2: http://pastebin.com/sFjVAGqE
2 ответа
Я думаю, проблема в том, что у каждого скрипта есть секция автозапуска, но обрабатывается только первая секция. С помощью autohotkey секция автозапуска заканчивается в первый раз, когда return
ключевое слово или ярлык горячей клавиши, как $Tab::
обрабатывается.
Я сделал новую вставку, которая превращает секцию автоматического выполнения из второго скрипта в функцию, а затем вызывает ее с помощью GoSub.
Я создал функцию, поместив эту строку в начале сценария 1 (строка 102 в связанном сценарии):
popupMenuScriptStartup:
Затем мы вызываем эту функцию в строке 10 скрипта:
GoSub popupMenuScriptStartup
Я нашел несколько альтернативных методов для использования нескольких скриптов AHK: #include и Run
Если второй файл представляет собой набор методов / функций, вы можете просто включить его, используя
#include FullPathToFile.ahk
в верхней части вашего файла. Затем вы можете при необходимости вызывать все ваши методы из второго сценария в первом.
Если второй файл представляет собой автономный сценарий, который включает в себя инициализацию, которую нужно запустить как часть запуска, вы можете просто
Run
запустить второй скрипт из первого. Вы также хотели бы закрыть его, когда выйдет первый скрипт:Run FullPathToSecondScript.ahk,,, pidToCloseOnExit ... WinClose, ahk_pid, pidToCloseOnExit Exit App
Из-за характера сценария, который вы пытаетесь добавить, я не думаю, что первый вариант подойдет вам.