Объединить два скрипта 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
    

Из-за характера сценария, который вы пытаетесь добавить, я не думаю, что первый вариант подойдет вам.

Другие вопросы по тегам