1

Тема: AHK: Объединение нескольких скриптов в один

Не нашел на форуме раздел "Вопросы", поэтому решил сюда написать.
Вопроса два:
1. Если имеется несколько скриптов (более 2), то как сделать так, чтобы можно было сконвертировать 1 исполняющий рабочий файл? Такая проблема возникла, когда я попытался запустить 3 скрипта, - в итоге у меня отключились все хоткей, а исполнялся только последний.
2. Правильно ли я делаю, что создаю исполняющий файл (.exe), и помещаю ярлык в автозагрузку.

Спасибо за ответы

2

Re: AHK: Объединение нескольких скриптов в один

Не нашел на форуме раздел "Вопросы"…

Xwansu, зато есть ответы.

3

Re: AHK: Объединение нескольких скриптов в один

3.11. Руководствуйтесь правилом: один вопрос - одна тема, не загромождайте существующие ветки посторонними вопросами и информацией.
...не бойтесь и не стесняйтесь создать новую тему по интересующему Вас вопросу.

Ok!
Тогда вопрос будет звучать так.
Позволяет ли AHK создавать несколько независимых скриптов в одном?

4

Re: AHK: Объединение нескольких скриптов в один

Если я правильно понял, ответ будет следующий.
AutoHotkey не поддерживает многопоточность, следовательно, в одном скрипте могут выполняться только последовательные действия. Зато при компиляции .ahk в .exe можно прикрепить к скрипту дополнительные файлы (см. FileInstall). Таким образом, можно создать программу, которая при запуске распаковывает во временную папку другие три программы и запускает их. Тогда они будут работать параллельно.

5

Re: AHK: Объединение нескольких скриптов в один

ypppu пишет:

Зато при компиляции .ahk в .exe можно прикрепить к скрипту дополнительные файлы (см. FileInstall). Таким образом, можно создать программу, которая при запуске распаковывает во временную папку другие три программы и запускает их. Тогда они будут работать параллельно.

Попробую так сделать. Интересно увидеть разницу в потреблении ресурсов между "объединенной" программой и тремя "автономными".

6

Re: AHK: Объединение нескольких скриптов в один

Столкнулся с конфликтом между двумя скриптами: один и два.
В обоих задействован ПКМ; в первом случае идет удержание кнопки в браузере, во втором обычный клик (глобальный хоткей) в определенной области экрана. Когда они "сталкиваются" в "общем" приложении, глобальный хоткей просто блокируется (либо срабатывает через раз).
Решить (вроде бы) проблему удалось путем простого слияния этих автономных скриптов в один.

7

Re: AHK: Объединение нескольких скриптов в один

Xwansu пишет:

Ok!
Тогда вопрос будет звучать так.
Позволяет ли AHK создавать несколько независимых скриптов в одном?

Позволяет, сам делал.
Вот готовый пример, т.е. рабочий вариант, правда там много файлов - придётся разбираться.
Стартовый

;*********************************************
;***************BEGIN SCRIPT******************
;*********************************************
;-----Инициализация
; Скрипт не выгружается
#Persistent
; Запрет повторного запуска
#SingleInstance
 
;=====Базовые пути=====================
#Include c:\AHK\Include\
#Include PathUses.ahk
; Устанавливаем путь к файлам скрипта
#Include C:\AHK\AllSystemOS\
sleep 5000 ; задержка для коррекции и синхронизации.
;=====Cменить иконку скрипта
mcTray := PathAhkIcon "Os_Settings_Gear.ico"
Menu, Tray, Icon, %McTray%,, 1

;=====Переменные/константы для скрипта и начальная инициализация
#Include VarScript.ahk

;=====Справка по клавишам
#Include HelpKey.ahk

;================Игры
#Include Games.ahk

;=====Запуск основных приложений
#Include AppStartUp.ahk

;=====Блокируем отдельное нажатие клавиши WIN
;~LWin Up::
;~RWin Up::
return

;=====Замена CapsLock на Shift
CapsLock::Shift
return

;*********************************************
;****************END SCRIPT*******************
;*********************************************

Файлы в порядке подключения:
PathUses.ahk
Os_Settings_Gear.ico
VarScript.ahk
HelpKey.ahk
Games.ahk
AppStartUp.ahk

Ну и сам файл основной который написан в посте, ну что бы не мучать копированием текста.
AllSystemOS.ahk

P.S. Надеюсь что ничего не упустил и думаю тебе это поможет.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download

8

Re: AHK: Объединение нескольких скриптов в один

Indomito, спасибо за пример.

9

Re: AHK: Объединение нескольких скриптов в один

Xwansu пишет:

Indomito, спасибо за пример.

кстати есть многопоточный скрипт для управления джойстиком... если надо, то дам.

"На каждое действие есть равная ему противодействующая критика." Постулат Харриссона
OS Windows 7 x64
AutoHotkey v1.1.32.00 - November 24, 2019
Click to Download