Как скомпилировать ахк файл в exe

Обновлено: 07.07.2024

Функция FileInstall создана для включения файлов в скомпилированный скрипт AutoIt. Эти включённые файлы могут быть извлечены во время выполнения скомпилированного скрипта, если функция FileInstall будет выполнена. Следует помнить, что большие файлы (например, изображения) могут существенно увеличить размер скомпилированного скрипта.
Исходный файл должен быть задан строкой в явном виде и не может быть переменной, константой, результатом выполнения выражения или вызова функции. Файл должен быть найден во время компиляции, однако, переменные вычисляются только во время выполнения скрипта.
Путь к исходному файлу не может содержать масок (wildcards).

Когда эта функция выполняется в нескомпилированном скрипте, вместо неё выполняется операция копирования (чтобы обеспечить отладку без необходимости компилировать скрипт).
Файл сохраняет оригинальные метки даты создания/модификации при извлечении.

Каталог назначения файла должен существовать, иначе эта функция вернёт 0 и не будет создавать ни каталога, ни файла. Следует использовать DirCreate() чтобы создать нужный каталог.

Атрибуты уже существующего файла могут помешать ему быть перезаписанным. Следует использовать FileDelete() или FileSetAttrib() чтобы быть уверенным, что файл установится без проблем.

Да по сути никак - это же просто инжект скрипта в exe, а не компиляция.
Упомянутая выше обфускация, совсем не предотвращает реверсинг скрипта, а только неудобства при нем создает (слегка замедляет процесс получения человекопонятных исходников).

Приемлемый уровень защиты возможен только если писать программу на реально компилируемом языке. Тогда можно добавить так называемую навесную защиту - протектор "убивающий" отладчики уровня приложения, шифрующий секции кода (что делает невозможным снятие полного дампа из памяти), и так далее.
А если добавить протектор на exe с внедренным AHK-скриптом, то это не помешает вытащить скрипт, т. к. он целиком в дата-секции и не связан с реальным кодом (поэтому дампится из памяти легко и просто даже с навесной защитой - ведь она защищает совсем другие секции: те, где лежит реально выполняемый код на машинном языке). Проще говоря, в таком случае протектор защитит код загрузчика-интерпретатора, а не код скрипта.

Файлы, которые заканчиваются .AHK как расширение Скрипт AutoHotkey файл. Файл сценария AutoHotKey представляет собой тип файла с обычным текстом, который используется AutoHotkey, бесплатным инструментом создания сценариев для автоматизации задач в Windows. Программное обеспечение AutoHotkey может использовать файлы .AHK для автоматизации. Можно легко автоматизировать такие задачи, как щелчок по окну, ввод букв и цифр и т. Д.

Иногда сценарии AutoHotkey также содержат горячие клавиши (сочетания клавиш) и строки быстрого доступа, которые могут автоматически заменять определенные текстовые строки при вводе. Если мы возьмем пример для объяснения, это будет похоже на Программа проверки орфографии и Автозамена на наших телефонах. В этой статье мы узнаем, как преобразовать эти файлы .AHK в файл .EXE с помощью AutoHotKey в Windows 10.

приложение autohotkey

Скрипты чем-то похожи на небольшие программы, которые запускают серию команд и могут принимать ввод от пользователя. В основном они используются для автоматизации повторяющихся задач. Скрипты AutoHotKey имеют широкий спектр применения. Эти сценарии вполне способны выполнять что-то базовое, например переназначение ключей, для более сложных операций, таких как переименование и / или перемещение файлов и создание каталогов, в основном как пакетные сценарии, но более того, эти сценарии имеют свою нишевую функцию и популярны в Windows.

Преобразование файла AHK в файл EXE

Теперь, чтобы конвертировать файлы AHK, вам необходимо загрузить приложение AutoHotkey и установить его в своей системе. Есть два способа легко конвертировать файлы.

  1. Использование Ahk2Exe для AutoHotKey
  2. Использование командной строки

1]Использование Ahk2Exe для AutoHotKey

конвертировать файл .AHK в файл .EXE

Мы знаем, что запускать скрипты AutoHotKey довольно сложно, но лучше запускать их как исполняемый файл.

Вы можете выбирать из определенных Дополнительные параметры например, выбор пользовательских файлов значков и методов кодирования.

2]Использование командной строки

Перейдите к AutoHotKey папку приложения, используя:

Введите следующую команду для преобразования файла:

Чтобы преобразовать файл вместе с новым значком, используйте следующую команду:

AHK-в-exe-cmd

Обязательно укажите имена файлов в месте расположения вместе с их расширением.

Чтобы узнать больше о том, как использовать скрипты AutoHotKey и их преобразования, вы можете использовать приложение или прочтите это здесь. В приложении и на веб-сайте также описан метод создания сценария .AHK.

Если вы пытаетесь преобразовать любой файл .AHK, который присутствует в любой защищенной папке, этот процесс может вызвать ошибку. Даже если командная строка запущена в режиме администратора, вам необходимо переместить файл сценария в положение, в котором разрешены операции чтения / записи.

Если преобразованный EXE-файл не работает, убедитесь, что в файле сценария нет ошибок и он синтаксически верен.

Скрипты во многом похожи на маленькие программы; они запускают серию команд и могут принимать ввод от пользователя. В основном они используются для автоматизации повторяющихся задач. Скрипты AutoHotKey имеют широкий спектр применения. От чего-то простого, например переназначения ключей, до более сложных операций, таких как переименование и / или перемещение файлов и создание каталогов, сценарии вполне способны. Они не заменяют пакетные сценарии, но имеют свою собственную нишевую функцию и популярны в Windows.

Упаковать сценарий AHK как EXE

Преобразование .ahk в .exe с помощью AutoHotKey

Сценарии AutoHotKey несложно запускать, и приложение не сложно установить, но их может быть проще запустить как исполняемый файл.


Исходный файл сценария останется нетронутым, и у вас будет новый EXE-файл.

Вам не нужно использовать Convert .ahk to .exe для упаковки сценария AHK как EXE. Вы можете использовать командную строку, но вам все равно нужно установить AutoHotKey.

  1. Открыть Командная строка.
  2. Введите следующую команду, чтобы перейти к инструменту компилятора в папке установки AutoHotKey.
  1. Найди полный путь к скрипту AHK.
  2. Введите следующее команда для преобразования скрипта и замените MyScript.ahk полным путем к сценарию.

Пример


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

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

Вывод

Преобразование скрипта в исполняемый файл не делает его более или менее функциональным. Исполняемый файл поддерживается более широко; приложения автоматизации с большей вероятностью смогут запускать исполняемый файл, чем сценарий. Сценарии AutoHotKey распространены, но они не так распространены, как пакетные сценарии или сценарии bash, поэтому они с меньшей вероятностью будут поддерживаться приложениями автоматизации.

Файл с расширением .AHK является файлом скрипта AutoHotkey. Это простой текстовый тип файла, который используется AutoHotkey, бесплатным скриптовым инструментом для автоматизации задач в Windows.

Программное обеспечение AutoHotkey может использовать файл AHK для автоматизации таких действий, как нажатие оконных подсказок, ввод букв и цифр и т. Д. Это особенно полезно для длительных, растягивающихся и повторяющихся действий, которые всегда следуют одним и тем же шагам.

Как открыть файл AHK

Несмотря на то, что файлы AHK являются просто текстовыми файлами, они понимаются и выполняются только в контексте бесплатной программы AutoHotkey. Эта программа должна быть установлена, чтобы открыть файл AHK для выполнения задач, описанных в файле.

До тех пор, пока синтаксис правильный, программное обеспечение понимает, что записано в файле AHK, как последовательность команд, которым должна следовать AutoHotkey.

Будьте особенно осторожны, чтобы использовать только исполняемые файлы, такие как файлы AHK, которые вы создали сами или загрузили из надежного источника. В тот момент, когда файл AHK существует на компьютере, на котором установлен AutoHotkey, вы подвергаете свой компьютер риску. Файл может содержать вредоносные сценарии, которые могут нанести большой ущерб как вашим личным файлам, так и важным системным файлам.

Все это говорит о том, что файлы AHK написаны в виде простого текста, и любой текстовый редактор (например, Блокнот в Windows или один из нашего списка лучших редакторов свободного текста) можно использовать для создания шагов и внесения изменений в существующие файлы AHK. Опять же, однако, программа AutoHotkey должна быть установлена, чтобы команды, включенные в текстовый файл, действительно делали что-то .

Тем не менее, все открытые сценарии отображаются в диспетчере задач как AutoHotkey, а также в области уведомлений панели задач Windows. Поэтому, если вы не уверены, что файл AHK работает в фоновом режиме, обязательно проверьте эти области.

Как конвертировать файл AHK

Файлы AHK можно преобразовать в EXE, чтобы они могли работать без явной установки программного обеспечения AutoHotkey. Вы можете прочитать больше о преобразовании AHK в EXE на странице компании «Преобразовать скрипт в EXE (ahk2exe)».

Примеры файлов AHK

Ниже приведено несколько примеров файла AHK, который вы можете использовать за считанные минуты. Просто скопируйте один в текстовый редактор, сохраните его с расширением .AHK, а затем откройте его на компьютере с AutoHotkey. Они будут работать в фоновом режиме (вы не увидите их открытыми) и работать сразу же после нажатия соответствующих клавиш.

Это скрипт AutoHotkey, который будет показывать или скрывать скрытые файлы при каждом нажатии клавиш Windows и H одновременно. Это гораздо быстрее, чем вручную показывать/скрывать скрытые файлы в Windows.

Ниже приведен гораздо более простой скрипт AutoHotkey, который полностью редактируется по вашему вкусу. Откроется программа с быстрым сочетанием клавиш. В этом примере мы настроили скрипт на открытие Блокнота, когда нажата клавиша Windows + N .

Вот аналогичный, который быстро открывает командную строку из любого места:

См. Онлайн-справочник AutoHotkey для вопросов о синтаксисе и других примеров сценариев AutoHotkey.

Все еще не можете открыть файл AHK?

Если ваш файл не запускается, когда установлен AutoHotkey, и особенно , если он не отображает текстовые команды при просмотре в текстовом редакторе, тогда есть очень хороший шанс, что вы на самом деле не имеете файл скрипта AutoHotkey.

Например, может быть, у вас действительно есть файл AHX, который является файлом модуля WinAHX Tracker и не имеет отношения к файлам сценариев, используемым с AutoHotkey.

Суть в том, чтобы исследовать расширение файла, которое у вас действительно есть, чтобы найти подходящую программу, которая может открыть его или преобразовать в новый формат.

Поверьте, я действительно не хотел беспокоить вас по этому поводу, но я просто не могу скомпилировать сценарий v2.

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

Я пробовал несколько подходов, включая использование AHK_H Ahk2Exe и AHK v2 .exe, но безуспешно. Что ж, технически вышеупомянутый метод вроде работает, но полученный .exe не является автономным, что делает его бесполезным для меня. По сути, он просто генерирует версию интерпретатора AHK v2, жестко запрограммированную для автоматического запуска сценария .ahk с тем же базовым путем и именем. Я даже пробовал Compile_AHK , но этот проект, вероятно, сильно устарел или что-то в этом роде.

Вот что я делаю:

Еще раз прошу прощения за беспокойство по этому поводу и надеюсь, что это правильное место, чтобы задать подобный вопрос. Я не смог найти публичных контактов с кем-либо из людей, которые занимались изменением развития AHK.

Я действительно в восторге от v2, но без возможности компилировать скрипты для меня это отстой, потому что v1, откровенно говоря, немного кошмар по сравнению с v2 с точки зрения синтаксиса.

Спасибо за ваши постоянные усилия, и я желаю, чтобы v2 вскоре стала мейнстримом, потому что она намного лучше.

Самый полезный комментарий

@natiiix Хорошо, я обнаружил, что опубликовал релиз неправильно, и теперь это исправлено.

Приносим извинения за путаницу.

Все 13 Комментарий

Я только что построил новый Ahk2Exe1.1.34.00_Beta_1, который вы можете использовать для компиляций v1 и v2. Он совместим с AutoHotkey v2.0-beta.1. Подробнее см. По этой ссылке .

Для компиляции v2 вам не нужны файлы .bin (и они не включены в бета-версию v2). Поэтому нет необходимости создавать bin-файлы AutoHotkey v2 из источника.

При компиляции сценариев v2 вы выбираете файл v2 AutoHotkeyU32.exe или AutoHotkeyU64.exe в качестве базового файла.

AutoHotkey_H Ahk2Exe несовместим со стандартной строкой AutoHotkey и не должен использоваться.

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

Я заметил отсутствие файлов .bin, упакованных с исполняемым файлом, но я предположил, что это было сделано только для простоты. Если компиляция использует интерпретатор напрямую, а не .bit, это имеет смысл, но также, предположительно, требует последней версии Ahk2Exe, потому что 1.1.33.03 (или любой другой из последних нескольких выпусков, которые я пробовал) не работает. Похоже, что в качестве базы поддерживаются файлы .exe. Кроме того, когда я запускаю исходную версию, в заголовке окна написано «1.1.30.00», что немного странно, поэтому я не уверен, что это еще более старая версия того, что.

Кто-то предложил использовать компилятор AHK_H в старом посте, и это почти сработало, потому что он также использует файлы .exe в качестве основы, но на самом деле по какой-то причине он не встраивает скрипт в исполняемый файл.

Однако исходная версия, несмотря на нечетную информацию о версии в заголовке окна, кажется, отлично работает для компиляции v2, даже если релиз / тег отсутствует, поэтому спасибо за информацию! Я видел, что совсем недавно появилась бета-версия v2, но даже на этом этапе было бы неплохо обновить документацию, включив в нее удобное для новичков руководство по процессу компиляции, потому что это было для меня немного увлекательно. попасть в рабочий .exe. Среди прочего, обнаружение базовых файлов меня немного озадачивает. Кажется, он предлагает базовый файл из каталогов в родительском каталоге или что-то в этом роде, что может вызвать проблемы, если вы поместите Ahk2Exe в каталог проекта с тысячами других огромных проектов. Тем не менее, большое спасибо за работу над v2, потому что это был столь необходимый шаг в правильном направлении!

@joedf Да, это именно та ссылка, о которой я говорю. Это дает мне 404. Пробовал во всем моем браузере, пытался удалить кеш и файлы cookie, но безрезультатно. Коммит, на который он ссылается, похоже, больше не существует, поэтому мне кажется, что кто-то принудительно затолкал ветку и перезаписал ее. Или вы создали его как некий частный релиз, недоступный для публики. Тем не менее, я могу просто клонировать мастер и использовать его, что отлично работает, но людям без Git (Hub) это может показаться немного сложным.

Ну ладно, понятно. Попробуйте этот zip-архив, напрямую скопированный оттуда в это обсуждение здесь.
Ahk2Exe1.1.34.00_Beta_1.zip

@joedf Хорошо, у меня это отлично работает. Он не подписан, поэтому он дает мне предупреждение безопасности Windows, которого я не получал из других выпусков, но в остальном, похоже, он работает правильно. Спасибо!

Мы прекратили подписывать все двоичные файлы autohotkey с версии 1.1.33 + из-за завышенной цены и уступки опыту и культуре, которые мы не можем поддерживать. Для выпусков мы теперь выпускаем их с хешами sha256.

@joedf Меня не так беспокоит безопасность, как меня беспокоит, что некоторые пользователи видят в этом неудобства. Хотя я предполагаю, что это влияет только на автономные двоичные файлы, а не на установщики, что означает, что очень немногие люди это заметят. Я запускаю версию компилятора .ahk, которая не выдает мне предупреждения о безопасности, но я легко могу представить, что это может сильно беспокоить многих пользователей. Жалко, что все эти услуги, которые становятся все более необходимыми, используют грабительскую модель, вынуждая разработчиков платить за свою ерунду. 😕

Хорошо, мне это подходит. Он не подписан, поэтому он дает мне предупреждение безопасности Windows, которого я не получал из других выпусков, но в остальном, похоже, он работает правильно. Спасибо!

Чтобы удалить предупреждение системы безопасности, вам необходимо разблокировать файл .zip, как описано в ссылке, которую я разместил ранее. Также проверьте, где Ahk2Exe вписывается в рекомендуемую файловую структуру по той же ссылке. Эта версия Ahk2Exe просматривает свое местоположение в поисках подходящих базовых файлов для использования, поэтому запуск из неподходящего каталога может быть медленным.

Если вы ищете выпуск Ahk2Exe на GitHub, вам нужно нажать «+ n выпусков» справа, чтобы увидеть все бета-выпуски.

@ TAC109 Я никогда раньше не замечал флажка "разблокировать", упоминаемого какой-либо другой неподписанной программой, но ладно, я думаю, это работает. Это все еще кажется немного сомнительным для крупных публичных релизов.

@natiiix Странно, что вы не видите релиз Ahk2Exe1.1.34.00_Beta_1 - я щелкнул ссылку «Релизы» в вашем предыдущем посте, и он оказался вверху списка. Своеобразный!

@natiiix Хорошо, я обнаружил, что опубликовал релиз неправильно, и теперь это исправлено.

Читайте также: