AutoHotkey — программа, позволяющая автоматизировать почти все процессы нажатием горячей клавишей. Такой может быть практически любая клавиша, кнопка или комбинация. Код скрипта (или бинда) пишется в файле формата *.ahk.
1. Создайте файл *.ahk и назовите его каким-нибудь именем
2. Откройте бинд в режиме редактирования (ПКМ edit)
3. Запишите в текстовый редактор следующий текст
F2::
SendInput, {F6}Рубин топ{enter}
return
4. Сохраняем и запускаем наш бинд двойным кликом
5. Зайдите в игру и нажмите F2 - в чат отправлено сообщение "Рубин топ".
{ ... } Означает блок. Блоки обычно используются в функциях и командах Else, Loop и IF.
AutoTrim Определяет, удаляют ли операторы SetEnv и "var = value" пробелы и табуляции из начала и конца строки.
BlockInput Запрещает или позволяет пользователю взаимодействовать с компьютером при помощи клавиатуры, мыши и других устройств ввода.
Break Выводит из цикла (завершает цикл). Команда действительна только внутри цикла.
ClipWait Ожидает момента поступления данных в буфер обмена.
Continue Пропускает остаток текущей итерации цикла и начинает новую. Команда действительна только внутри цикла.
Control Вносит различные изменения в элементы управления.
ControlClick Посылает элементу управления события кнопки и колеса мыши.
ControlFocus Устанавливает фокус ввода на заданный элемент управления окна.
ControlGet Извлекает различную информацию об элементе управления.
ControlGetFocus Извлекает элемент управления целевого окна, имеющий фокус ввода (если таковой имеется).
ControlGetPos Извлекает позицию и размер элемента управления.
ControlGetText Извлекает текст из элемента управления.
ControlMove Перемещает элемент управления или изменяет его размеры.
ControlSend
ControlSendRaw Посылает окну или элементу управления эмулированные нажатия клавиш.
ControlSetText Изменяет текст в элементе управления.
CoordMode Устанавливает режим координат различных команд на соответствие активному окну или экрану.
Critical Не позволяет другим потокам прерывать текущий поток.
DetectHiddenText Определяет "видим" ли невидимый текст в окне в целях нахождения этого окна. Данная команда воздействует на такие команды, как IfWinExist и WinActivate.
DetectHiddenWindows Определяет "видит" ли скрипт невидимые окна.
DllCall() Вызывает изнутри DLL функцию (например, стандартную функцию Windows API).
Drive Выдвигает/задвигает поддон CD или DVD-привода или задает метку тома диска.
DriveGet Извлекает различную информацию о диске (дисках) компьютера.
DriveSpaceFree Извлекает свободное пространство на диске в мегабайтах.
Edit Открывает скрипт для редактирования в ассоциированном редакторе.
Else Если результатом IF-оператора является FALSE, определяет команду(ы) для исполнения. Если определено несколько команд, сформируйте из них блок (заключите в фигурные скобки).
EnvAdd Задает переменной значение, равное сумме значения самой переменной и данного значения (может также прибавлять или вычитать время из значения дата-время (date-time)). Синоним: var += value
EnvDiv Задает переменной значение, равное результату деления самой переменной на данное значение. Синоним: var /= value
EnvMult Задает переменной значение, равное произведению самой переменной и данного значения. Синоним: var *= value
EnvSet Присваивает значение переменной, содержащейся в среде.
EnvSub Задает переменной значение, равное разности самой переменной и заданного значения (может также сравнивать значения даты-времени (date-time)). Синоним: var -= value
EnvUpdate Оповещает операционную систему и все запущенные приложения об изменении переменной окружения.
Exit Завершает текущий поток или весь скрипт (если скрипт завершает работу автоматически и не содержит горячих клавиш).
ExitApp Безусловно завершает скрипт.
FileAppend Добавляет в конец файла текст (при необходимости сначала создав файл).
FileCopy Копирует один или несколько файлов.
FileCopyDir Копирует папку вместе с подпапками и файлами (похоже на xcopy).
FileCreateDir Создает папку.
FileCreateShortcut Создает ярлык (.lnk-файл).
FileDelete Удаляет один или несколько файлов.
FileInstall Включает в скомпилированный скрипт заданные файлы.
FileGetAttrib Сообщает атрибуты папки или файла (только для чтения, скрытый и т.д.).
FileGetShortcut Извлекает информацию о ярлыке (.lnk-файле), например, его целевой файл.
FileGetSize Извлекает размер файла.
FileGetTime Извлекает дату-время изменения файла или папки.
FileGetVersion Извлекает версию файла.
FileMove Перемещает или переименовывает один или несколько файлов.
FileMoveDir Перемещает папку вместе с подпапками и файлами. Может также переименовывать папку.
FileRead Считывает в переменную весь текст файла.
FileReadLine Считывает определенную строку из файла и сохраняет текст в переменной.
FileRecycle Посылает, если возможно, файл или каталог в корзину.
FileRecycleEmpty Очищает корзину.
FileRemoveDir Удаляет папку.
FileSelectFile Отображает стандартный диалог, позволяющий пользователю выбирать файл(ы).
FileSelectFolder Отображает стандартный диалог, позволяющий пользователю выбрать папку.
FileSetAttrib Изменяет атрибуты одного или нескольких файлов или папок. Поддерживает групповые символы.
FileSetTime Изменяет дату-время изменения одного или нескольких файлов или папок. Поддерживает групповые символы.
FormatTime Преобразует временную метку YYYYMMDDHH24MISS в заданный формат даты/времени.
GetKeyState Проверяет, нажата или отпущена клавиша клавиатуры или кнопка мыши/джойстика. Извлекает также статус джойстика.
Gosub Переходит к заданной метке и продолжает выполнение до команды Return.
Goto Переходит к заданной метке и продолжает выполнение.
GroupActivate Активирует следующее окно в группе окон, заданных командой GroupAdd.
GroupAdd Добавляет спецификацию окна в группу окон, при необходимости создавая группу.
GroupClose Закрывает активное окно, если оно было только что активировано командами GroupActivate или GroupDeactivate. Затем активирует следующее окно в последовательности. Может также закрыть все окна группы.
GroupDeactivate Похоже на команду GroupActivate, однако активирует следующее окно не в группе.
GUI Создает и управляет окнами и элементами управления. Подобные окна можно использовать в качестве форм ввода данных или собственных пользовательских интерфейсов.
GuiControl Вносит различные изменения в элемент управления в окне GUI.
GuiControlGet Извлекает различную информацию об элементе управления в окне GUI.
HideAutoItWin, On|Off (Устарела – эквивалент данной команды: Menu, tray, NoIcon|Icon)
Hotkey Создает, изменяет, блокирует, разблокирует горячую клавишу во время работы скрипта.
if Если сравнение переменной со значением истинно (TRUE), задает команду(ы) для исполнения. Если команд несколько, сформируйте из них блок (заключите в фигурные скобки).
if (expression) Если выражение истинно(TRUE), задает команду(ы) для исполнения.
If var [not] between Проверяет, находится ли содержимое переменной численно или в алфавитном порядке между двумя значениями (включительно).
If var [not] in/contains MatchList Проверяет, совпадает ли содержимое переменной с одним из пунктов в списке.
If var is [not] type Проверяет, содержит ли переменная число, принадлежит ли строковое содержимое переменной верхнему регистру и т.д.
IfEqual/IfNotEqual Проверяет, равна ли переменная значению. Синоним: if var = value | if var value
IfExist
FileExist() Проверяет существование файла или папки.
IfGreater
IfGreaterOrEqual Сравнивает переменную со значением. Синоним: if var > value | if var >= value
IfInString
InStr() Проверяет, содержит ли переменная заданную строку.
IfLess
IfLessOrEqual Сравнивает переменную со значением. Синоним: if var < value | if var <= value
IfMsgBox Проверяет, какую кнопку нажал пользователь во время последенй команды MsgBox.
IfWinActive
IfWinNotActive Проверяет, существует ли заданное окно и активно ли оно в момент проверки (на переднем плане).
IfWinExist
IfWinNotExist Проверяет, существует ли заданное окно.
ImageSearch Осуществляет поиск изображения в области экрана.
IniDelete Удаляет значение из стандартного формата .ini-файла.
IniRead Считывает значение из стандартного формата .ini-файла.
IniWrite Присваивает значение стандартного формата .ini-файла.
Input Ожидает, пока пользователь печатает строку.
InputBox Отображает окно для ввода данных, приглашая пользователя напечатать строку.
KeyHistory Отображает информацию о скрипте и историю последних нажатий клавиш и кликов мыши.
KeyWait Ожидает, когда будет нажата или отпущена клавиша или кнопка мыши/джойстика.
LeftClick (Устарела – команда MouseClick обеспечивает бoльшую гибкость.)
LeftClickDrag (Устарела – команда MouseClickDrag обеспечивает бoльшую гибкость.)
ListHotkeys Отображает на экране горячие клавиши, используемые текущим скриптом, информацию о том, запущены ли их подпрограммы и используют ли они обработчик клавиатурных прерываний или кликов мыши.
ListLines Отображает последние выполненные строки скрипта.
ListVars Отображает переменные скрипта: их имена и текущее содержимое.
Loop (normal) Многократно выполняет ряд команд: заданное количество раз или до команды break.
Loop (files & folders) Поочередно извлекает заданные файлы или папки.
Loop (parse a string) Поочередно извлекает подстроки из строки.
Loop (read file contents) Поочередно извлекает строки текстового файла (работает быстрее, чем команда FileReadLine).
Loop (registry) Извлекает содержимое заданного подраздела реестра, по одному элементу.
Menu Создает, удаляет, изменяет и отображает меню и пункты меню. Изменяет иконку трея и всплывающую подсказку иконки трея. Проверяет, можно ли открыть главное окно скомпилированного скрипта.
MouseClick Нажимает или удерживает кнопку мыши, или прокручивает колесико мыши.
MouseClickDrag Нажимает и удерживает заданную кнопку мыши, перемещает мышь к заданным координатам, затем отпускает кнопку.
MouseGetPos Извлекает текущую позицию курсора мыши и, по желанию, окно или элемент управления, над которым он находится.
MouseMove Перемещает курсор мыши.
MsgBox Отображает заданный текст в маленьком окне с одной или несколькими кнопками (например, с кнопками Yes и No).
OnExit Определяет подпрограмму, которая будет запущена автоматически, когда скрипт будет завершать работу.
OnMessage() Определяет функцию, которая будет запущена автоматически при получении скриптом заданного сообщения.
Outputd class="ntd"ebug Посылает строку в отладчик (если таковой существует) для отображения.
Pause Приостанавливает текущий поток скрипта.
PixelGetColor Извлекает цвет пиксела, находящегося в заданных координатах экрана x,y.
PixelSearch Ищет в области экрана пиксел определенного цвета.
PostMessage Помещает сообщение в очередь сообщений окна или элемента управления.
Process Выполняет над процессом следующие операции: проверяет, существует ли процесс; изменяет его приоритет; закрывает его; ждет, пока он закроется.
Progress Создает или обновляет окно, содержащее индикатор выполнения.
Random Создает псевдослучайное число.
RegDelete Удаляет из реестра подключ или значение.
RegRead Считывает из реестра значение.
RegWrite Записывает значение в реестр.
Reload Заменяет текущий запущенный экземпляр скрипта на новый.
Repeat…EndRepeat (Устарела-- команда Loop обеспечивает бoльшую гибкость.)
Return Осуществляет возврат из подпрограммы, вызванной функцией, командой Gosub, активацией горячей клавиши, командой GroupActivate или другими способами.
RightClick (Устарела-- команда MouseClick обеспечивает бoльшую гибкость.)
RightClickDrag (Устарела-- команда MouseClickDrag обеспечивает бoльшую гибкость.)
Run Запускает внешнюю программу.
RunAs Задает параметры доступа пользователя для последующего использования команд Run и RunWait.
RunWait Запускает внешнюю программу и ждет завершения ее исполнения.
Send
SendRaw Посылает активному окну эмулированные нажатия клавиш.
SendMessage Посылает окну или элементу управления сообщение и ждет подтверждение приема.
SetBatchLines Определяет, как быстро будет выполняться скрипт (влияет на коэффициент загрузки центрального процессора).
SetCapslockState Задает состояние клавиши Capslock. Может включать ее или выключать.
SetControlDelay Задает задержку после каждой команды, влияющей на элементы управления.
Setd class="ntd"efaultMouseSpeed Задает скорость мыши, если она не была определена в командах MouseMove/Click/Drag.
SetFormat Задает формат получаемых в результате математических операций целых чисел и чисел с плавающей запятой.
SetKeyDelay Задает задержку после каждого нажатия клавиши, посланного командой Send или ControlSend.
SetMouseDelay Задает задержку после каждого движения или щелчка мыши.
SetNumlockState Задает состояние клавиши Numlock. Может включать ее или выключать.
SetScrollLockState Задает состояние клавиши Scrolllock. Может включать ее или выключать.
SetStoreCapslockMode Определяет, восстанавливать ли после команды Send состояние клавиши CapsLock.
SetTimer Многократно автоматически запускает подпрограмму в заданные промежутки времени.
SetTitleMatchMode Задает соответствующее поведение параметра WinTitle в таких командах, как WinWait.
SetWinDelay Задает задержку после каждой команды, управляющей окнами, такой, как WinActivate.
SetWorkingDir Изменяет текущий рабочий каталог скрипта.
Shutd class="ntd"own Завершает работу (shut down) системы, перезапускает (restart) систему или выходит из системы (log off).
Sleep Перед продолжением работы, выжидает заданное количество времени.
Sort Располагает содержимое переменной в алфавитном, числовом или случайном порядке (по желанию удаляет копии).
SoundBeep Издает звук из динамика ПК.
SoundGet Извлекает из звукового устройства различные настройки (приглушение звука, громкость и т.д.)
SoundGetWaveVolume Извлекает из звукового устройства волновую выходную громкость.
SoundPlay Проигрывает звук, видео и другие поддерживаемые типы файлов.
SoundSet Изменяет различные настройки звукового устройства (приглушение звука, громкость и т.д.)
SoundSetWaveVolume Изменяет волновую выходную громкость звукового устройства.
SplashImage Создает или обновляет окно, содержащее JPG, GIF или BMP изображения.
SplashTextOn Создает настраиваемый текст всплывающего окна.
SplashTextOff Закрывает все ранее открытые окна.
SplitPath Разделяет имя файла или URL на имя, каталог, расширение и диск.
StatusBarGetText Извлекает текст из стандартного элемента управления "строка состояния" (status bar).
StatusBarWait Ожидает появления в строке состояния окна заданной строки.
StringCaseSense Определяет, является ли сравнение строк чувствительным к регистру (по умолчанию "no").
StringGetPos Извлекает позицию заданной подстроки в строке.
StringLeft Извлекает заданное количество символов в левой части строки.
StringLen
StrLen() Определяет количество символов в строке.
StringLower Конвертирует строку в нижний регистр.
StringMid Извлекает из заданной позиции в строке один или несколько символов.
StringReplace Заменяет заданную подстроку новой строкой.
StringRight Извлекает заданное количество символов в правой части строки.
StringSplit Разделяет строку на массив подстрок при помощи заданного разделителя.
StringTrimLeft Удаляет некоторое количество символов из левой части строки.
StringTrimRight Удаляет некоторое количество символов из правой части строки.
StringUpper Конвертирует строку в верхний регистр.
Suspend Блокирует или разблокирует все выбранные горячие клавиши.
SysGet Извлекает разрешение экрана, информацию о мониторах, размерность системных объектов и другие системные свойства.
Thread Задает приоритет или возможность прерывания потоков. Может также временно заблокировать все таймеры.
ToolTip Создает в любом месте экрана окно, всегда расположенное поверх других окон.
Transform Исполняет различные математические функции, побитовые операции и такие задачи, как преобразования ASCII/Unicode.
TrayTip Создает рядом с иконкой в трее всплывающее окно сообщений.
URLDownloadToFile Загружает из Интернета файл.
Var = value Присваивает переменной заданное значение.
Var := expression Вычисляет выражение и сохраняет результат в переменной.
VarSetCapacity() Увеличивает ёмкость переменной или освобождает ее память. Обычно данная команда необходима только в чрезвычайных случаях, таких, как при вызове DllCall().
WinActivate Активирует заданное окно (перемещает его на передний план).
WinActivateBottom То же самое, что и WinActivate, только активирует самое нижнее подходящее окно (самое первое из недавно открытых), а не окно, находящееся на самом верху.
WinClose Закрывает все заданные окна.
WinGetActiveStats Комбинирует функции WinGetActiveTitle и WinGetPos в одну команду.
WinGetActiveTitle Извлекает название активного окна.
WinGetClass Извлекает имя класса заданного окна.
WinGet Извлекает уникальный идентификатор, идентификатор процесса, имя процесса или список элементов управления заданного окна. Может также извлекать список всех окон, подпадающих под определенные критерии.
WinGetPos Извлекает позицию и размер заданного окна.
WinGetText Извлекает из заданного окна текст.
WinGetTitle Извлекает заголовок заданного окна.
WinHide Скрывает заданное окно.
WinKill Закрывает заданное окно.
WinMaximize Увеличивает заданное окно до максимального размера.
WinMenuSelectItem Запускает пункт меню из строки меню заданного окна.
WinMinimize Сворачивает заданное окно в кнопку на панели задач.
WinMinimizeAll Минимизирует все окна.
WinMinimizeAllUndo Отменяет результат выполнения предыдущей команды WinMinimizeAll.
WinMove Изменяет позицию и/или размер заданного окна.
WinRestore Отменяет команды WinMinimize и WinMaximize для заданного окна.
WinSet Вносит в заданное окно различные изменения, такие, как прозрачность и "всегда поверх других окон".
WinSetTitle Изменяет заголовок заданного окна.
WinShow Показывает скрытое заданное окно.
WinWait Ожидает появления заданного окна.
WinWaitActive Ожидает активизации заданного окна.
WinWaitClose Ожидает исчезновения (закрытия) заданного окна.
WinWaitNotActive Ожидает деактивизации заданного окна.
#AllowSameLineComments Только для скриптов AutoIt v2 (.aut): разрешает комментарии на одной строке с командой.
#ClipboardTimeout Изменяет время, в течение которого скрипт пытается открыть буфер обмена.
#CommentFlag Изменяет символ комментария скрипта с точки с запятой на другую последовательность символов.
#ErrorStd class="ntd"Out Посылает любую синтаксическую ошибку, мешающую запуску скрипта, в std class="ntd"out, не выводя на экран диалог.
#EscapeChar Изменяет escape-символ скрипта (например: знак акцента на обратный слеш).
#HotkeyInterval Вместе с директивой #MaxHotkeysPerInterval определяет частоту активаций горячей клавиши, при превышении которой на экран выводится предупреждающий диалог.
#HotkeyModifierTimeout Воздействует на поведение модификаторов горячих клавиш: CTRL, ALT, WIN и SHIFT.
#Hotstring Изменяет опции или завершающие символы строки автозамены.
#Include Заставляет скрипт вести себя так, как будто содержимое заданного файла находится точно на данной позиции.
#InstallKeybdHook Безусловно устанавливает обработчик клавиатурных прерываний.
#InstallMouseHook Безусловно устанавливает обработчик прерываний мыши.
#KeyHistory Задает максимальное количество событий клавиатуры и мыши, отображаемые окном KeyHistory. Чтобы заблокировать key history, задайте значение 0.
#MaxHotkeysPerInterval Вместе с директивой #HotkeyInterval задает частоту активаций горячей клавиши, при превышении которой на экран выводится предупреждающий диалог.
#MaxMem Задает максимальную ёмкость каждой переменной (в мегабайтах).
#MaxThreads Задает максимальное количество одновременно исполняемых потоков.
#MaxThreadsBuffer Буферизует некоторые или все горячие клавиши по достижении максимального количества одновременных потоков на горячую клавишу, установленного #MaxThreadsPerHotkey (горячие клавиши не игнорируют нажатия клавиш).
#MaxThreadsPerHotkey Задает максимальное количество одновременных потоков на горячую клавишу.
#NoTrayIcon Блокирует вывод иконки в трее.
#Persistent Удерживает скрипт в постоянно запущенном состоянии (т.е. до тех пор, пока его не закроет пользователь или пока исполнение скрипта не дойдет до команды ExitApp).
#SingleInstance Мешает одновременному существованию нескольких экземпляров скрипта.
#UseHook Заставляет использовать обработчик прерываний при выполнении всех или некоторых горячих клавиш клавиатуры.
#WinActivateForce Пропускает стандартный (gentle) метод активации окна, переходя прямо к интенсивному (forceful) методу.