На чтение 6 мин. Просмотров 1.5k. Опубликовано 02.09.2019
Файл с расширением .AHK является файлом скрипта AutoHotkey. Это простой текстовый тип файла, который используется AutoHotkey, бесплатным скриптовым инструментом для автоматизации задач в Windows.
Программное обеспечение AutoHotkey может использовать файл AHK для автоматизации таких действий, как нажатие оконных подсказок, ввод букв и цифр и т. Д. Это особенно полезно для длительных, растягивающихся и повторяющихся действий, которые всегда следуют одним и тем же шагам.
Содержание
- Как открыть файл AHK
- Как конвертировать файл AHK
- Примеры файлов AHK
- Все еще не можете открыть файл AHK?
Как открыть файл AHK
Несмотря на то, что файлы AHK являются просто текстовыми файлами, они понимаются и выполняются только в контексте бесплатной программы AutoHotkey. Эта программа должна быть установлена, чтобы открыть файл AHK для выполнения задач, описанных в файле.
До тех пор, пока синтаксис правильный, программное обеспечение понимает, что записано в файле AHK, как последовательность команд, которым должна следовать AutoHotkey.
Будьте особенно осторожны, чтобы использовать только исполняемые файлы, такие как файлы AHK, которые вы создали сами или загрузили из надежного источника. В тот момент, когда файл AHK существует на компьютере, на котором установлен AutoHotkey, вы подвергаете свой компьютер риску. Файл может содержать вредоносные сценарии, которые могут нанести большой ущерб как вашим личным файлам, так и важным системным файлам.
Страница загрузки AutoHotkey содержит как полную версию программы установки, так и переносную опцию как для 32-разрядных, так и для 64-разрядных версий Windows.
Все это говорит о том, что файлы AHK написаны в виде простого текста, и любой текстовый редактор (например, Блокнот в Windows или один из нашего списка лучших редакторов свободного текста) можно использовать для создания шагов и внесения изменений в существующие файлы AHK. Опять же, однако, программа AutoHotkey должна быть установлена, чтобы команды, включенные в текстовый файл, действительно делали что-то .
Это означает, что если вы создаете AHK-файл на своем компьютере и он работает нормально с установленным AutoHotkey, вы не можете отправить этот же AHK-файл кому-то другому, у которого не установлено программное обеспечение, и ожидаете, что оно будет работать для их тоже. Это, конечно, если вы не конвертируете AHK-файл в EXE-файл, о чем вы можете узнать больше в разделе ниже.
Может показаться, что вы не открыли файл AHK, если инструкции внутри файла не делают что-то очевидное. Например, если ваш AHK-файл настроен так, чтобы просто набирать предложение после того, как вы ввели специальную комбинацию клавиатурных команд, то при открытии этого конкретного AHK-файла не будет отображаться никакого окна или указания, что он работает. Однако вы наверняка будете знать, что открыли одну, если она настроена на открытие других программ, выключение компьютера и т. Д. – что-то очевидное.
Тем не менее, все открытые сценарии отображаются в диспетчере задач как AutoHotkey, а также в области уведомлений панели задач Windows. Поэтому, если вы не уверены, что файл AHK работает в фоновом режиме, обязательно проверьте эти области.
Как конвертировать файл AHK
Файлы AHK можно преобразовать в EXE, чтобы они могли работать без явной установки программного обеспечения AutoHotkey. Вы можете прочитать больше о преобразовании AHK в EXE на странице компании «Преобразовать скрипт в EXE (ahk2exe)».
По сути, самый быстрый способ сделать это – щелкнуть правой кнопкой мыши файл AHK и выбрать параметр Сценарий компиляции . Вы также можете преобразовать файл AHK с помощью программы Ahk2Exe, которая находится в папке установки AutoHotkey (вы можете искать ее через меню «Пуск» или с помощью инструмента поиска файлов, например «Все»), который также позволяет вам выбрать файл пользовательского значка.
AutoIt – это программа, которая похожа на AutoHotkey, но использует форматы файлов AUT и AU3 вместо AHK. Там может быть не простой способ конвертировать файл AHK в AU3/AUT, поэтому вам может потребоваться полностью переписать сценарий в AutoIt, если это то, что вам нужно.
Примеры файлов AHK
Ниже приведено несколько примеров файла AHK, который вы можете использовать за считанные минуты. Просто скопируйте один в текстовый редактор, сохраните его с расширением .AHK, а затем откройте его на компьютере с AutoHotkey. Они будут работать в фоновом режиме (вы не увидите их открытыми) и работать сразу же после нажатия соответствующих клавиш.
Это скрипт AutoHotkey, который будет показывать или скрывать скрытые файлы при каждом нажатии клавиш Windows и H одновременно. Это гораздо быстрее, чем вручную показывать/скрывать скрытые файлы в Windows.
; Используйте клавишу Windows + H, чтобы показать или скрыть скрытые файлы
#h ::
RegRead, HiddenFiles_Status, HKEY_CURRENT_USER, Программное обеспечение Microsoft Windows CurrentVersion Explorer Advanced, Hidden
Если HiddenFiles_Status = 2
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Программное обеспечение Microsoft Windows CurrentVersion Explorer Advanced, Скрытый, 1
Остальное
RegWrite, REG_DWORD, HKEY_CURRENT_USER, Программное обеспечение Microsoft Windows CurrentVersion Explorer Advanced Скрытый, 2
WinGetClass, eh_Class, A
If (eh_Class = "# 32770" ИЛИ A_OSVersion = "WIN_VISTA")
отправить, {F5}
Остальное PostMessage, 0x111, 28931 ,,, A
Возврат
Ниже приведен гораздо более простой скрипт AutoHotkey, который полностью редактируется по вашему вкусу. Откроется программа с быстрым сочетанием клавиш. В этом примере мы настроили скрипт на открытие Блокнота, когда нажата клавиша Windows + N .
#n :: Запустить блокнот
Вот аналогичный, который быстро открывает командную строку из любого места:
#p :: Run cmd
См. Онлайн-справочник AutoHotkey для вопросов о синтаксисе и других примеров сценариев AutoHotkey.
Все еще не можете открыть файл AHK?
Если ваш файл не запускается, когда установлен AutoHotkey, и особенно , если он не отображает текстовые команды при просмотре в текстовом редакторе, тогда есть очень хороший шанс, что вы на самом деле не имеете файл скрипта AutoHotkey.
Некоторые файлы в конце используют суффикс, который пишется во многом как «.AHK», но это не означает, что вы должны обращаться с файлами как с равными – они не всегда открываются в одних и тех же программах или конвертируются с помощью одних и тех же инструментов преобразования. ,
Например, может быть, у вас действительно есть файл AHX, который является файлом модуля WinAHX Tracker и не имеет отношения к файлам сценариев, используемым с AutoHotkey.
Еще одно похожее, но совершенно другое расширение файла – APK, который используется для файлов пакета Android. Это приложения, которые работают в операционной системе Android и настолько далеки от текстовых файлов, насколько возможно, поэтому, если у вас есть один из них, вы не сможете использовать открыватели AutoHotkey сверху, чтобы открыть его.
Суть в том, чтобы исследовать расширение файла, которое у вас действительно есть, чтобы найти подходящую программу, которая может открыть его или преобразовать в новый формат.
Все разделы
Нужна помощь?
Краткое обучение (начать здесь)
Оказавшись на этой странице, вероятно, вы собираетесь начать осваивать язык автоматизации Autohotkey.
В этой статье описана установка программы, ее базовые возможности и примеры кода. Наберитесь терпения, запасайтесь чаем и приступаем
Все интересующие вопросы вы можете задать в нашей группе Вконтакте.
Autohotkey в играх
Обратите внимание, что макросы запрещены во многих играх. За использование Autohotkey ваш аккаунт может быть забанен!
Кроме этого, многие современные игры имеют активный античит, препятствующий программной эмуляции нажатий. Это значит, что нажатия, воспроизводимые скриптом могут игнорироваться.
Мы не содействуем читерству, и если античит блокирует работу Autohotkey в определенной игре- не будем помогать вам обойти защиту!
Стоит так же учитывать, что Autohotkey разработан для взаимодействия со средой Explorer’a и его окон. Такие команды как PixelSearch, PixelGetColor и ImageSearch вероятнее всего не будут работать в полноэкранных 3D приложениях.
Чаще всего Autohotkey воспринимает окна с отрисовкой 3D как черный квадрат (цвет 0x000000). Иногда проблема решается переводом игры в оконный режим, но корректная работа все равно не гарантируется и единого решения НЕТ.
Установка Autohotkey и редактора Notepad++
Перед началом работы неплохо бы скачать Autohotkey с оффициального сайта.
После запуска инсталятора выбираем Unicode версию программы, иначе получим иероглифы вместо русских букв. Лучше выбрать разрядность, соответствующую вашей ОС. Но стоит помнить что скрипты, скомпилированные x64 версией не запустятся на 32-разрядных ОС.
Для редактирования скриптов можно использовать любой текстовый редактор, включая «Блокнот». Но для удобства работы с кодом лучше использовать Notepad++, который так же скачиваем с оффициального сайта и устанавливаем.
После установки вам понадобится файл подсветки синтаксиса Autohotkey userDefineLang_AHK.xml. Сохраняем его в любое удобное место.
Теперь запускаем Notepad++, в меню «Синтксисы» выбираем «Задать свой синтаксис…». В открывшемся окне жмем «Импортировать» и выбираем скачанный файл.
После перезапуска программы в меню «Синтаксисы» появится Autohotkey, а файлы с расширением .ahk будут сразу открываться с подсветкой синтаксиса.
Рекомендую сразу включить отображение расширений файлов в системе. Для этого откройте любое окно проводника, в верхнем меню «Файл» выберите пункт «Параметры папок и поиска». В открывшемся окне во вкладке «Вид» снимите галочку «Скрывать расширения для зарегистрированных типов файлов».
Создание первого скрипта
После того, как среда Autohotkey и текстовый редактор установлены, можно приступать к созданию первого скрипта.
Скрипты являются обычными текстовыми файлами, имеющими расширение .ahk. Запускаются как любое приложение, двойным кликом мыши.
Чтобы отредактировать скрипт, нажмите на нем ПКМ > Открыть с помощью > Notepad++.
Вы можете создать обычный текстовый документ и переименовать его, изменив расширение с «.txt» на «.ahk», или сразу создать пустой скрипт, нажав ПКМ / Создать > / AutoHotkey Script. Не забудьте установить Notepad++ в качестве редактора по умолчанию для .ahk файлов.
Создайте скрипт со следующим кодом и запустите его. Если вы увидели окно с приветствием- все установлено правильно и можно продолжать.
MsgBox, Привет!
Порядок исполнения команд
Обратите внимание! Данный пункт крайне важен для понимания работы программы.
В момент запуска скрипта, команды начинают выполняться по очереди сверху вниз. Выполнение новой команды не будет начато до тех пор, пока не окончена предыдущая.
Так интерпретатор будет последовательно исполнять код, пока не встретит Return. Эта команда прерывает текущий поток. С его помощью обозначаются пределы макрокоманды, а так же возвращаются значения из функций.
MsgBox, Эта команда выполнится
Return
MsgBox, А эта нет, ведь поток был прерван
Если по мере выполнения кода встречается цикл- он выполняется до тех пор, пока истинно его условие, или он не будет разорван командой Break. Как выглядят циклы мы разберем чуть ниже, не торопитесь
Комментарии в коде и отладка
Когда нужно оставить в коде строчку с пояснением- на помощь приходит комментарий, по умолчанию он отделяется точкой с запятой. Вся строка после ; игнорируется интерпретатором. Обратите внимание, что в Autohotkey нет многострочных комментариев! Каждая строка экранируется отдельно.
MsgBox, Тест ;А это комментарий в коде, он обычно поясняет происходящее
Для отладки кода (проверки условий, просмотра значений переменных и т.д.) проще всего использовать команды MsgBox и ToolTip. Первая выводит информацию в виде окна и ждет подтверждения, вторая показывает всплывающую подсказку и не прерывает выполнение кода.
Горячие клавиши
Основным назначением Autohotkey является назначение горячих клавиш. Они представляют собой сочетания клавиш и кнопок мыши, при нажатии которых выполняется заданная последовательность команд (макрокоманда, она же- макрос).
Запись горячей клавиши может иметь однострочный и многострочный вид, в зависимости от необходимого количества команд.
^1::MsgBox, вы нажали Ctrl+1 ;Однострочная запись
;Многострочная запись
^2::
MsgBox, Вы нажали Ctrl+2
Sleep, 3000
MsgBox, И дождались появления второго окна через 3 сек.
Return
Перед двоеточием указывается клавиша или сочетание клавиш, вызывающие действие. Больше о горячих клавишах можно узнать здесь. Так же, наверняка, вам пригодится список клавиш и кнопок мыши.
Строки автозамены
Строки автозамены имеют тот же принцип, что и горячие клавиши, но заменяют не сочетание клавиш, а фрагмент строки. Чаще всего используются для развертывания аббревиатур.
;При вводе «кхл», развернет сокращение
::кхл::Континентальная хоккейная лига
;Поддерживает многострочную запись и вызов любых команд
::ихний::
MsgBox, вы допустили ужасную грамматическую ошибку. Ваш компьютер будет выключен.
Shutdown, 1
Return
Все возможности строк автозамены, такие как чувствительность к регистру, замена части слова, задержка нажатий- ищите в соответствующей Статье.
Эмуляция нажатий
Для эмуляции нажатий и ввода текста используется команда Send.
Она имеет несколько вариаций: Send, SendPlay, SendInput и SendRaw. Подробно про их отличия можно прочитать по ссылке выше.
;Ввод строки по нажатию 1
1::Send, Здравствуйте, чем могу вам помочь?{Enter}Текст с новой строки
;Обратите внимание на !, без скобок он равносилен нажатию Alt
2::Send, Благодарим за визит{!}
;Выполнит комбинацию Ctrl+Shift+Esc, запустив диспетчер задач
3::Send, ^+{Esc}
;Зажмет Alt и несколько раз нажмет Tab, переключая окна
4::
Send, {Alt down}
Loop, 5
{
Send, {Tab}
Sleep, 500
}
Send, {Alt up}
Return
Переменные и выражения
Для хранения и обработки информации служат переменные. Во вступительном гайде мы рассмотрим лишь три основных вида: логический, числовой и текстовый. Переменные в Autohotkey динамически изменяют свой тип в зависимости от последнего присвоенного значения.
Имя переменной не должно превышать 254 знаков, может состоять из букв, цифр и знаков # _ @ $ ? [ ]. Вопреки традициям других языков, в хоткее имена переменных могут начинаться с цифр и даже содержать кириллицу.
Логический (булевый) тип предназначен для хранения 1 или 0 (true или false). Чаше всего используется в условиях, где есть всего два варианта выбора, а так же в функциях, для обозначения успешности или провала операции.
bool_val := true
;Здесь мы при нажатии 1 инвертируем значение переменной
1::
MsgBox, bool_val содержал значение %bool_val%
bool_val := !bool_val
Return
Числовой тип, как не сложно догадаться, применяется для операций с числами. Поддерживается большинство арифметических операций, а так же десятичные дроби.
numeric_val := 0
;Здесь мы при нажатии 1 добавляем 10 к значению переменной
1::
MsgBox, numeric_val содержал значение %numeric_val%
numeric_val := numeric_val + 10
Return
Строковый тип хранит отдельные символы или фрагменты текста. Работа со строками немного отличается от цифровых и булевых переменных- для них есть целый ряд специальных строковых функций.
string:=»Валера»
string.=» — гений кодинга»
StringReplace, string, string, ни
string := SubStr(string, 1, 12)
MsgBox, %string%
Логическое ветвление
Наверняка вы уже задумались, как выполнять действие только при соблюдении конкретного условия? На помощь приходит ветвление с логическими операторами if и else.
Так же существуют и другие команды, представляющие собой условие.
Пожалуй, самым простым применением условия является назначение двух чередующихся действий на одну и ту же горячую клавишу. В этом примере введена переменная, которая принимает противоположное значение при каждом новом вызове ГК.
ckeck := false
^1::
if(ckeck)
MsgBox, Сейчас условие верно!
else
MsgBox, Условие не верно
ckeck := !ckeck
Return
Еще одним примером может служить определение времени суток:
if(A_Hour < 6)
state = ночь
else if(A_Hour < 10)
state = утро
else if(A_Hour < 17)
state = день
else
state = вечер
MsgBox, Сейчас %state%`, %A_Hour% часов
Блок кода {}
Блок кода обозначается фигурными скобками и объединяет несколько комад или функций.
Он нужен чтобы указать интерпретатору, что несколько команд нужно выполнить вместе.
Чаще всего блок {} используется для группировки команд внутри условий или циклов.
;Здесь MsgBox и Send будут выполнены только если MyVar равна 5
if(MyVar == 5)
{
MsgBox, MyVar равна 5!
Send, Абсолютно равна
}
;А здесь скобок нет и Send будет выполнен в любом случае
if(MyVar == 5)
MsgBox, MyVar равна 5!
Send, Абсолютно равна
Циклы
Для повторения определенного участка кода несколько раз используются циклы. В Autohotkey их несколько видов, самым простым из которых является Loop.
;Пять повторений одного участка кода
^1::
Loop, 5
MsgBox, Это %A_Index% интерация цикла из 5
return
;Отображение тултипа пока нажата ЛКМ
~LButton::
while(GetKeyState(«LButton»))
{
ToolTip, А теперь отпустите ЛКМ
Sleep, 100
}
ToolTip
return
Запуск программ, открытие ссылок
Для запуска EXE приложений, открытия окон проводника или браузера используется команда Run.
;Запуск программы
Run, %A_ProgramFiles%Some_ProgramProgram.exe
;Открытие веб страницы
Run, https://ahk-wiki.ru
Команды и функции
В Autohotkey есть две основных структуры: команды и функции.
Обе предназначены для выполнения какого-либо действия, но отличаются способом записи.
У многих команд есть функция-двойник, выполняющая ту же операцию.
В отличае от функций, команды нельзя комбинировать или использовать одну команду как аргумент другой.
Команды не используют скобки вокруг параметров, вы можете легко отличить их от функций:
;Пример команды
Command, параметр1, параметр2, параметр3
;Пример функции
Function(параметр1, параметр2, параметр3)
Обратите внимание, что:
;Внутри функций можно производить вычисления:
SubStr(37 * 12, 1, 2)
;Переменные в функции передаются без знаков %%:
SubStr(A_Now, 7, 2)
;Результат выполнения одной функции может быть параметром другой:
SubStr(A_AhkPath, InStr(A_AhkPath, «AutoHotkey»))
;Текст в функциях должен быть обернут в кавычки:
SubStr(«I’m scripting, awesome!», 16)
;Функции могут возвращать результат
;Здесь MyVar будет присвоен результат выполнения функции
MyVar := SubStr(«I’m scripting, awesome!», 16)
Заключение
В этой статье приведены самые базовые возможности программы. Полный список функций можно найти на Главной странице справочника.
Рекомендуем последовательно пройти по описанию всех команд для примерного понимания их назначения перед тем, как начинать писать свой первый скрипт
Перед тем, как приступить к написанию кода, необходимо составить алгоритм. Распишите по шагам, что должна делать ваша программа. Так будет гораздо проще искать команды, необходимые для выполнения каждого из шагов.
Скрипты во многом похожи на маленькие программы; они запускают серию команд и могут принимать ввод от пользователя. В основном они используются для автоматизации повторяющихся задач. Скрипты AutoHotKey имеют широкий спектр применения. От чего-то простого, например переназначения ключей, до более сложных операций, таких как переименование и / или перемещение файлов и создание каталогов, сценарии вполне способны. Они не заменяют пакетные сценарии, но имеют свою собственную нишевую функцию и популярны в Windows.
Преобразование .ahk в .exe с помощью AutoHotKey
Сценарии AutoHotKey несложно запускать, и приложение не сложно установить, но их может быть проще запустить как исполняемый файл.
- Убеждаться AutoHotKey установлен в вашей системе. Скачать здесь.
- Открой Стартовое меню и перейти к Список приложений.
- Перейти к AutoHotKey в списке приложений и выберите Преобразование .ahk в .exe.
- В открывшемся окне нажмите ‘Просматривать’ сразу после ‘Источник (файл сценария) ‘ поле.
- Нажмите ‘Просматривать’ сразу после «Место назначения (файл .exe)» и введите имя EXE-файла.
- Нажмите Перерабатывать.
- Сценарий будет конвертируется за несколько минут.
Исходный файл сценария останется нетронутым, и у вас будет новый EXE-файл.
Скрипт AHK как EXE — Командная строка
Вам не нужно использовать Convert .ahk to .exe для упаковки сценария AHK как EXE. Вы можете использовать командную строку, но вам все равно нужно установить AutoHotKey.
- Открыть Командная строка.
- Введите следующую команду, чтобы перейти к инструменту компилятора в папке установки AutoHotKey.
cd C:Program FilesAutoHotkeyCompiler
- Найди полный путь к скрипту AHK.
- Введите следующее команда для преобразования скрипта и замените MyScript.ahk полным путем к сценарию.
Ahk2Exe.exe /in MyScript.ahk
Пример
Ahk2Exe.exe /in "C:UsersfatiwDesktopTest Script.ahk"
AutoHotKey имеет обширную документацию, и если у вас возникнут проблемы с пониманием, вы можете проконсультируйтесь здесь. Вы можете изменить команду и изменить значок создаваемого исполняемого файла.
В обоих вышеупомянутых методах вы используете встроенный инструмент преобразования AutoHotKey. Разница между ними заключается в том, как вы используете его для преобразования сценария, т. Е. Через графический интерфейс или командную строку.
Вывод
Преобразование скрипта в исполняемый файл не делает его более или менее функциональным. Исполняемый файл поддерживается более широко; приложения автоматизации с большей вероятностью смогут запускать исполняемый файл, чем сценарий. Сценарии AutoHotKey распространены, но они не так распространены, как пакетные сценарии или сценарии bash, поэтому они с меньшей вероятностью будут поддерживаться приложениями автоматизации.
Список клавиш и кнопок мыши/джойстика
Мышь (работает только с Windows NT/2000/XP)
LButton — левая кнопка мыши
RButton — правая кнопка мыши
MButton — средняя кнопка мыши (или колесо)
WheelDown — поворот колеса мыши «вниз»
WheelUp — поворот колеса мыши «вверх»
Поддерживается только Windows 2000/XP:
XButton1 — четвертая кнопка мыши, боковая
XButton2 — пятая кнопка мыши, боковая
Клавиатура
Примечание: названия буквенных и цифровых клавиш точно такие же, как и сами символы этих клавиш. То есть, клавиша «b» записывается как b, а клавиша «5» как 5.
Space — пробел
Tab
Enter (или Return)
Escape (или Esc)
Backspace (или BS)
Delete (или Del)
Insert (или Ins)
Home
End
PgUp
PgDn
Up
Down
Left
Right
ScrollLock
CapsLock
NumLock
NumpadDiv — слэш «/»
NumpadMult — звездочка «*»
NumpadAdd — плюс «+»
NumpadSub — минус «-«
NumpadEnter — клавиша «Numpad-Enter»
Следующие названия клавиш используются, когда Numlock выключен:
NumpadDel
NumpadIns
NumpadClear — та же кнопка, что и Numpad5 на клавиатуре
NumpadUp
NumpadDown
NumpadLeft
NumpadRight
NumpadHome
NumpadEnd
NumpadPgUp
NumpadPgDn
Эти названия клавиш используются при включенном Numlock’e:
Numpad0
Numpad1
Numpad2
Numpad3
Numpad4
Numpad5
Numpad6
Numpad7
Numpad8
Numpad9
NumpadDot — «Numpad-точка»
С F1 по F24 — двенадцать или более функциональных клавиш, на большинстве клавиатур представлены в самом верхнем ряду.
AppsKey — клавиша, вызывающая контекстное меню файла/программы, как при правом клике мышкой.
LWin — левая клавиша «Windows»
RWin — правая клавиша «Windows»
Control (или Ctrl)
Alt
Shift
Примечание: в большинстве случаев работа со следующими шестью клавишами не поддерживается под Windows 95/98/Me. Используйте в этом случае вариант их записи, приведенный выше, вместо следующего:
LControl (или LCtrl) — левый «Сontrol»
RControl (или RCtrl) — правый «Сontrol»
LShift
RShift
LAlt — левый «Alt»
RAlt — правый «Alt». Примечание: если на вашей клавиатуре вместо клавиши RAlt сделана клавиша AltGr, вы можете использовать следующую запись данной клавиши: <^>! Также заметим, что клавишу AltGr можно записать как сочетание клавиш «LControl & RAlt::».
PrintScreen
CtrlBreak
Pause
Break
Help — довольно редкая клавиша, присутствует далеко не на всех клавиатурах. И работает совсем не как F1.
Sleep — предупреждаем, что клавиша «Sleep» на некоторых клавиатурах не работает под этой записью.
Клавиши расширенных функций Мультимедийных и Интернет-клавиатур:
Browser_Back
Browser_Forward
Browser_Refresh
Browser_Stop
Browser_Search
Browser_Favorites
Browser_Home
Volume_Mute
Volume_Down
Volume_Up
Media_Next
Media_Prev
Media_Stop
Media_Play_Pause
Launch_Mail
Launch_Media
Launch_App1
Launch_App2
Запись вида SCnnn, где nnn — это сканкод клавиши, позволяет нам работать с остальными клавишами, не упоминавшимися выше. Подробнее об этом — см. ниже.
Возможна запись VKnn, где nn является шестнадцатиричным виртуальным кодом клавиши. Несмотря на то, что этот редко используемый метод поддерживается всеми версиями программы, только с версии 1.0.38.02 и выше для некоторых типов горячих клавиш реализовано предотвращение отслеживания их функцией «keyboard hook» (обработчик клавиатурных прерываний). Например, следующая комбинация клавиш не использует обработчик клавиатурных прерываний (keyboard hook), и как следствие может быть запущена нажатием как клавиши Home, так и NumpadHome:
^VK24::MsgBox Вы нажали Home или NumpadHome`, удерживая клавишу Control.
Джойстик
Joy1 — Joy32: кнопки джойстика. Для удобства определения номеров кнопок вашего джойстика был создан специальный тест-скрипт (см. ссылку в оригинале статьи). Обратите внимание, что такие префиксы, как ^ (control) и + (shift) здесь не поддерживаются (тем не менее, команда GetKeyState может использоваться). Также обратите внимание, что нажатия клавиш джойстика всегда обращены напрямую в активное окно, поддерживающее приём таких сигналов.
Несмотря на то, что следующие управляющие элементы джойстика не могут использоваться как горячие клавиши, их можно использовать при помощи команды GetKeyState:
JoyX, JoyY, и JoyZ: где X (горизонтальная), Y (вертикальная), и Z (высота/глубина) — оси координат джойстика.
JoyR: руль джойстика или 4-ая ось джойстика.
JoyU и JoyV: 5-ая и 6-ая оси джойстика.
JoyPOV: the point-of-view (hat) control (POV control, «шляпка» или «переключатель видов»; например, вид глазами игрока).
JoyName: название джойстика.
JoyButtons: количество кнопок, поддерживаемых джойстиком (не всегда точное).
JoyAxes: количество направлений, поддерживаемых джойстиком.
JoyInfo: генерирует строку, состоящую из нуля или более знаков, иллюстрирующих возможности джойстика: Z (имеется Z направление), R (имеется R направление), U (имеется U направление), V (имеется V направление), P (имеется POV control), D (POV control имеет ограниченное количество дискретных/промежуточных настроек), C (POV control передает непрерывные/точные данные). Пример строки: ZRUVPD.
Несколько джойстиков: если вы используете несколько джойстиков одновременно, то для более точной адресации команды используйте при записи номер джойстика перед именем клавиши джойстика. Например запись 2joy1 будет обозначать первую кнопку второго джойстика.
Примечание: если у вас возникли проблемы с определением скриптами вашего джойстика, вы можете попробовать изменить номер джойстика с 1 на что-нибудь другое, даже несмотря на то, что к компьютеру у вас подключен всего один. Неизвестно, по каким мистическим причинам, но иногда это вместе с использованием нашего тестового скрипта даёт положительный результат.
Использование джойстика как мыши: специальный скрипт превращает ваш джойстик в мышь (см. ссылку в оригинале статьи).
Дистанционные пульты управления
Получение сигналов от дистанционных пультов управления с помощью специального клиентского скрипта WinLIRC — см. ссылку в оригинале статьи.
Специальные клавиши
Если ваши клавиатура или мышь имеют клавиши, не перечисленные выше, вы всё равно имеете возможность использовать их в качестве горячих клавиш, используя следующий метод (необходимы Windows NT/2000/XP или выше):
1. Вначале убедитесь, что у вас проинсталлирован обработчик клавиатурных прерываний (keyboard hook) — #InstallKeybdHook.
2. Запускаем этот скрипт, и затем двойным кликом по его иконке в системном трее открываем его главное окно.
3. Затем нажимаем ту самую клавишу, которую пытаемся определить.
4. Далее открываем меню окошка скрипта «View — Key history and script info» и прокручиваем записи до самого низа.
5. Где-то внизу этого лога должны быть записи по нажатию-отпусканию нашей искомой клавиши. Сам лог обновляется нажатием клавиши F5. Примечание: если после нажатия искомой клавиши никаких записей в логе не появилось, значит такая клавиша не распознаётся данной программой. В этом случае вы не можете использовать данную клавишу как горячую, т.к. либо драйвер вашей клавиатуры, либо сама её «железная» составляющая даёт сигнал слишком низкого уровня, недоступного для AutoHotkey. В случае со «злобными» драйверами, вы можете попробовать либо перенастроить сами «родные» драйвера, либо заменить их на другие, более дружественые, например такие, как дефолтные клавиатурные драйвера Windows.
6. Если ваша клавиша успешно определилась, обратите внимание на трехзначное шестнадцатеричное число во второй колонке лога (например, 159).
7. Теперь, чтобы использовать данную клавишу как горячую, следуйте данному примеру:
SC159:: ; Замените 159 на индекс вашей клавиши.
MsgBox, Вы нажали клавишу %A_ThisHotKey%
Return
Как альтернативный способ или в добавление к описанному выше: для переназначения какой-либо клавиши в нашу «искомую» клавишу, используйте запись вида #c::Send {vkFFsc159}. Замените 159 на индекс вашей клавиши, определённый вышеописанным методом. При необходимости замените буквы FF на те, что отображены в первой колонке лога «View-Key history» (код вашей виртуальной клавиши).
© Dmitrij_Medvedev
What to Know
- An AHK file is an AutoHotkey script.
- Open one with AutoHotkey, or edit it with a text editor.
- Convert one to EXE with Ahk2Exe.
This article explains what an AHK file is and how to open one on your computer, plus how to convert one to a more widely used executable format (EXE).
What Is an AHK File?
A file with the .AHK file extension is an AutoHotkey script. It’s a plain text file that’s used by a free scripting tool for automating tasks in Windows.
AutoHotkey uses this file to automate things like clicking window prompts, typing, and lots more. It’s especially helpful for long, drawn out, and repetitive actions that always follow the exact same steps.
How to Open an AHK File
Even though AHK files are just made up of readable text, they’re only understood and executed within the context of the free AutoHotkey program. It has to be installed on the same computer the file is executed from in order for its tasks to be performed.
So long as the syntax is correct, the software understands what’s written in the file as a series of commands that AutoHotkey should follow.
Take extra care to only use executable files like these that you’ve made yourself or that you’ve downloaded from a trusted source. The moment an AHK file exists on a computer that has AutoHotkey installed is the moment you put your computer at risk. The file might contain harmful scripts that could secretly do lots of damage to both your personal files and to important system files.
All that said, because AHK files are written in plain text, any text editor (like Notepad in Windows or one from our Best Free Text Editors list) can be used to build the steps and make changes to existing files. Again, though, AutoHotkey must be installed to make the commands included in the text file actually do something.
This means if you make one of these files on your computer, and it works fine with AutoHotkey installed, you can’t send that same file to someone else who doesn’t have the software installed and expect it to work for them, too. That is, unless you convert it to EXE, which you can learn more about in the section below.
It may not seem like you’ve opened an AHK file if the instructions inside the file don’t do something obvious. For example, if yours is set up to just type out a sentence after you’ve entered a special combination of keyboard commands, then opening that specific file won’t reveal any window or indication that it’s running. However, you’ll for sure know you’ve opened one if it’s configured to open other programs, shut down your computer, etc.—something obvious.
However, all open scripts are shown in Task Manager, as well as in the notification area of the Windows taskbar. So if you’re not sure whether one is actively running in the background, be sure to check those areas.
How to Convert an AHK File
AHK files can be converted to EXE so they can run without having to explicitly install AutoHotkey. You can read more about converting to EXE on the company’s Convert a Script to an EXE (ahk2exe) page.
Basically, the quickest way to do that is to right-click the file and choose Compile Script. You can also do this conversion through the Ahk2Exe program included in AutoHotkey’s installation folder. You can search for it through the Start menu or look in this folder:
C:Program FilesAutoHotkeyCompiler
AutoIt is a similar program, but it uses the AUT and AU3 file formats instead. There might not be an easy way to convert AHK to one of those formats, so you might have to completely rewrite the script in AutoIt if this is what you’re after.
AHK Script Examples
Below are a few examples of AutoHotkey scripts. Just copy one into a text editor, save it with the .AHK file extension, and then open it on a computer that’s running AutoHotkey. They’ll run in the background (you won’t «see» them open) and work instantly when the corresponding keys are triggered.
This one will show or hide hidden files each time the Windows and H keys are pressed at the same time. This is much quicker than manually showing/hiding hidden files.
; Show or hide hidden files
#h::
RegRead, HiddenFiles_Status, HKEY_CURRENT_USER, SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced, Hidden
If HiddenFiles_Status = 2
RegWrite, REG_DWORD, HKEY_CURRENT_USER, SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced, Hidden, 1
Else
RegWrite, REG_DWORD, HKEY_CURRENT_USER, SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced, Hidden, 2
WinGetClass, eh_Class,A
If (eh_Class = "#32770" OR A_OSVersion = "WIN_VISTA")
send, {F5}
Else PostMessage, 0x111, 28931,,, A
Return
The following is a much simpler script that’s completely editable to your liking. It will open a program with a quick keyboard shortcut. In this example, we’ve set it to open Notepad when WIN+N is pressed.
#n::Run Notepad
Here’s a similar one that launches Command Prompt from anywhere:
#p::Run cmd
This is another one we like that uses 7-Zip to automatically unzip an archive if you hold down Ctrl+Alt while you click once on the file:
!^LButton::
temp = %clipboard%
KeyWait, LButton, D
send {LButton}
sleep,100
Send, {Ctrl Down}c{Ctrl Up}
file = %clipboard% ;get file address
clipboard = %temp% ;restore clipboard
outdir := getdir(file)
if (A_Is64bitOS = 1)
{
runwait, "C:Program Files7-Zip7z.exe" x "%file%" -o"%outdir%" -y,,hide
}
else
{
runwait, "C:Program Files (x86)7-Zip7z.exe" x "%file%" -o"%outdir%" -y,,hide
}
return
getdir(input)
{
SplitPath, input,,parentdir,,filenoext
final = %parentdir%%filenoext%
return final
}
Still Can’t Open It?
If your file doesn’t run when AutoHotkey is installed, and especially if it doesn’t show you text commands when viewed with a text editor, then there’s a good chance you don’t actually have one of these scripts.
Some files use a suffix at the end that’s spelled a lot like «AHK,» but that doesn’t mean you should treat the files as equals—they don’t always open with the same programs or convert with the same tools.
For example, maybe you really have an AHX file, which is a WinAHX Tracker module that has no relation to script files used with AutoHotkey. Or it could be an AHS file used with Photoshop.
Another similar-sounding but totally different file extension is APK. These are applications that run on the Android operating system and are as far from text files as possible, so if you have one of those, you won’t be able to use the AutoHotkey openers from above to use it.
ASHX files are another example. Only one letter is added to that file extension, but the format has to do with ASP.NET web server applications instead.
The point here is to research the file extension your file is using so you can find the appropriate program that can open or convert it.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
What to Know
- An AHK file is an AutoHotkey script.
- Open one with AutoHotkey, or edit it with a text editor.
- Convert one to EXE with Ahk2Exe.
This article explains what an AHK file is and how to open one on your computer, plus how to convert one to a more widely used executable format (EXE).
What Is an AHK File?
A file with the .AHK file extension is an AutoHotkey script. It’s a plain text file that’s used by a free scripting tool for automating tasks in Windows.
AutoHotkey uses this file to automate things like clicking window prompts, typing, and lots more. It’s especially helpful for long, drawn out, and repetitive actions that always follow the exact same steps.
How to Open an AHK File
Even though AHK files are just made up of readable text, they’re only understood and executed within the context of the free AutoHotkey program. It has to be installed on the same computer the file is executed from in order for its tasks to be performed.
So long as the syntax is correct, the software understands what’s written in the file as a series of commands that AutoHotkey should follow.
Take extra care to only use executable files like these that you’ve made yourself or that you’ve downloaded from a trusted source. The moment an AHK file exists on a computer that has AutoHotkey installed is the moment you put your computer at risk. The file might contain harmful scripts that could secretly do lots of damage to both your personal files and to important system files.
All that said, because AHK files are written in plain text, any text editor (like Notepad in Windows or one from our Best Free Text Editors list) can be used to build the steps and make changes to existing files. Again, though, AutoHotkey must be installed to make the commands included in the text file actually do something.
This means if you make one of these files on your computer, and it works fine with AutoHotkey installed, you can’t send that same file to someone else who doesn’t have the software installed and expect it to work for them, too. That is, unless you convert it to EXE, which you can learn more about in the section below.
It may not seem like you’ve opened an AHK file if the instructions inside the file don’t do something obvious. For example, if yours is set up to just type out a sentence after you’ve entered a special combination of keyboard commands, then opening that specific file won’t reveal any window or indication that it’s running. However, you’ll for sure know you’ve opened one if it’s configured to open other programs, shut down your computer, etc.—something obvious.
However, all open scripts are shown in Task Manager, as well as in the notification area of the Windows taskbar. So if you’re not sure whether one is actively running in the background, be sure to check those areas.
How to Convert an AHK File
AHK files can be converted to EXE so they can run without having to explicitly install AutoHotkey. You can read more about converting to EXE on the company’s Convert a Script to an EXE (ahk2exe) page.
Basically, the quickest way to do that is to right-click the file and choose Compile Script. You can also do this conversion through the Ahk2Exe program included in AutoHotkey’s installation folder. You can search for it through the Start menu or look in this folder:
C:Program FilesAutoHotkeyCompiler
AutoIt is a similar program, but it uses the AUT and AU3 file formats instead. There might not be an easy way to convert AHK to one of those formats, so you might have to completely rewrite the script in AutoIt if this is what you’re after.
AHK Script Examples
Below are a few examples of AutoHotkey scripts. Just copy one into a text editor, save it with the .AHK file extension, and then open it on a computer that’s running AutoHotkey. They’ll run in the background (you won’t «see» them open) and work instantly when the corresponding keys are triggered.
This one will show or hide hidden files each time the Windows and H keys are pressed at the same time. This is much quicker than manually showing/hiding hidden files.
; Show or hide hidden files
#h::
RegRead, HiddenFiles_Status, HKEY_CURRENT_USER, SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced, Hidden
If HiddenFiles_Status = 2
RegWrite, REG_DWORD, HKEY_CURRENT_USER, SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced, Hidden, 1
Else
RegWrite, REG_DWORD, HKEY_CURRENT_USER, SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced, Hidden, 2
WinGetClass, eh_Class,A
If (eh_Class = "#32770" OR A_OSVersion = "WIN_VISTA")
send, {F5}
Else PostMessage, 0x111, 28931,,, A
Return
The following is a much simpler script that’s completely editable to your liking. It will open a program with a quick keyboard shortcut. In this example, we’ve set it to open Notepad when WIN+N is pressed.
#n::Run Notepad
Here’s a similar one that launches Command Prompt from anywhere:
#p::Run cmd
This is another one we like that uses 7-Zip to automatically unzip an archive if you hold down Ctrl+Alt while you click once on the file:
!^LButton::
temp = %clipboard%
KeyWait, LButton, D
send {LButton}
sleep,100
Send, {Ctrl Down}c{Ctrl Up}
file = %clipboard% ;get file address
clipboard = %temp% ;restore clipboard
outdir := getdir(file)
if (A_Is64bitOS = 1)
{
runwait, "C:Program Files7-Zip7z.exe" x "%file%" -o"%outdir%" -y,,hide
}
else
{
runwait, "C:Program Files (x86)7-Zip7z.exe" x "%file%" -o"%outdir%" -y,,hide
}
return
getdir(input)
{
SplitPath, input,,parentdir,,filenoext
final = %parentdir%%filenoext%
return final
}
Still Can’t Open It?
If your file doesn’t run when AutoHotkey is installed, and especially if it doesn’t show you text commands when viewed with a text editor, then there’s a good chance you don’t actually have one of these scripts.
Some files use a suffix at the end that’s spelled a lot like «AHK,» but that doesn’t mean you should treat the files as equals—they don’t always open with the same programs or convert with the same tools.
For example, maybe you really have an AHX file, which is a WinAHX Tracker module that has no relation to script files used with AutoHotkey. Or it could be an AHS file used with Photoshop.
Another similar-sounding but totally different file extension is APK. These are applications that run on the Android operating system and are as far from text files as possible, so if you have one of those, you won’t be able to use the AutoHotkey openers from above to use it.
ASHX files are another example. Only one letter is added to that file extension, but the format has to do with ASP.NET web server applications instead.
The point here is to research the file extension your file is using so you can find the appropriate program that can open or convert it.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe
Файлы, которые заканчиваются .AHK как расширение Скрипт AutoHotkey файл. Файл сценария AutoHotKey представляет собой тип файла с обычным текстом, который используется AutoHotkey, бесплатным инструментом создания сценариев для автоматизации задач в Windows. Программное обеспечение AutoHotkey может использовать файлы .AHK для автоматизации. Можно легко автоматизировать такие задачи, как щелчок по окну, ввод букв и цифр и т. Д.
Иногда сценарии AutoHotkey также содержат горячие клавиши (сочетания клавиш) и строки быстрого доступа, которые могут автоматически заменять определенные текстовые строки при вводе. Если мы возьмем пример для объяснения, это будет похоже на Программа проверки орфографии и Автозамена на наших телефонах. В этой статье мы узнаем, как преобразовать эти файлы .AHK в файл .EXE с помощью AutoHotKey в Windows 10.
Скрипты чем-то похожи на небольшие программы, которые запускают серию команд и могут принимать ввод от пользователя. В основном они используются для автоматизации повторяющихся задач. Скрипты AutoHotKey имеют широкий спектр применения. Эти сценарии вполне способны выполнять что-то базовое, например переназначение ключей, для более сложных операций, таких как переименование и / или перемещение файлов и создание каталогов, в основном как пакетные сценарии, но более того, эти сценарии имеют свою нишевую функцию и популярны в Windows.
Теперь, чтобы конвертировать файлы AHK, вам необходимо загрузить приложение AutoHotkey и установить его в своей системе. Есть два способа легко конвертировать файлы.
- Использование Ahk2Exe для AutoHotKey
- Использование командной строки
1]Использование Ahk2Exe для AutoHotKey
Мы знаем, что запускать скрипты AutoHotKey довольно сложно, но лучше запускать их как исполняемый файл.
- Перейдите в меню «Пуск» и откройте Преобразование .ahk в .exe.
- в Обязательные параметры раздел, нажмите на Просматривать за Источник (файл сценария).
- Выберите файл .AHK, который нужно преобразовать в исполняемый файл .EXE.
- Теперь нажмите на Просматривать за Место назначения (файл .exe).
- Выберите папку, в которой вы хотите сохранить файл после преобразования. Обязательно введите Имя файла при выборе места назначения.
- Нажмите на Конвертировать.
Вы можете выбирать из определенных Дополнительные параметры например, выбор пользовательских файлов значков и методов кодирования.
2]Использование командной строки
Использование командной строки для повседневной работы — настоящее дело, вы понимаете, как все работает. Для преобразования сценариев с помощью командной строки вам все равно потребуется приложение AutoHotKey, установленное в вашей системе.
Зайдите в меню «Пуск», введите cmd, и откройте Командная строка в качестве Администратор.
Перейдите к AutoHotKey папку приложения, используя:
cd C:Program FilesAutoHotkeyCompiler
Введите следующую команду для преобразования файла:
Ahk2Exe.exe /in "location of file with filename.ahk" /out "location of file with filename.exe"
Чтобы преобразовать файл вместе с новым значком, используйте следующую команду:
Ahk2Exe.exe /in "location of file with filename.ahk" /out "location of file with filename.exe" /icon "location of icon"
Обязательно укажите имена файлов в месте расположения вместе с их расширением.
Чтобы узнать больше о том, как использовать скрипты AutoHotKey и их преобразования, вы можете использовать приложение или прочтите это здесь. В приложении и на веб-сайте также описан метод создания сценария .AHK.
Если вы пытаетесь преобразовать любой файл .AHK, который присутствует в любой защищенной папке, этот процесс может вызвать ошибку. Даже если командная строка запущена в режиме администратора, вам необходимо переместить файл сценария в положение, в котором разрешены операции чтения / записи.
Если преобразованный EXE-файл не работает, убедитесь, что в файле сценария нет ошибок и он синтаксически верен.
Читать: Как конвертировать WMA в формат файла MP3.