У меня есть два действующих скрипта. Когда я объединяю их, второй не работает или вызывает ошибку в сценарии 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 ответа2

1

Я думаю, что проблема в том, что у каждого скрипта есть секция автозапуска, но обрабатывается только первая секция. При использовании autohotkey секция auto-execute заканчивается в первый раз, когда обрабатывается ключевое слово return или метка горячей клавиши, например $Tab:: .

Я сделал новую вставку, которая превращает секцию автоматического выполнения из второго скрипта в функцию, а затем вызывает ее с помощью GoSub.

Я создал функцию, поместив эту строку в начале сценария 1 (строка 102 в связанном сценарии):

popupMenuScriptStartup:

Затем мы вызываем эту функцию в строке 10 скрипта:

GoSub popupMenuScriptStartup
0

Я нашел несколько альтернативных методов для использования нескольких скриптов AHK: #include и Run

  • Если второй файл представляет собой набор методов / функций, вы можете просто включить его, используя

    #include FullPathToFile.ahk
    

    в верхней части вашего файла. Затем вы можете при необходимости вызывать все ваши методы из второго сценария в первом.

  • Если второй файл представляет собой автономный сценарий , который включает в себя инициализацию , которая должна быть запущена как часть запуска, вы можете просто Run запустить второй скрипт из первых. Вы также хотели бы закрыть его, когда выйдет первый скрипт:

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .