Autohotkey как открыть скрипт

Обзор программы и краткое руководство

Это краткое введение поможет вам приступить к созданию собственных макросов и сочетаний клавиш.

Учебное пособие включает

создание скрипта

Каждый скрипт представляет собой текстовый файл, содержащий команды, которые затем будут выполняться нашей программой — AutoHotkey.exe. Помимо самих команд, скрипт содержит сочетания клавиш (называемые «горячими клавишами»), которые будут выполнять эти самые команды. Команды, записанные в скриптах, выполняются сверху вниз, начиная с верхней строки и спускаясь вниз.

Создать новый скрипт:

Создать текстовый файл со следующим содержимым в Блокноте или другой текст editor:

По содержанию: символ # означает клавишу «Windows», а комбинация #z означает, что после нажатия клавиши «Windows» без отпускания нажимаем клавишу z — (это «горячая клавиша») и запустите интернет-браузер, откройте www.google.com.

Затем сохраните и закройте файл. Затем измените его расширение с .txt на .ahk. Имя файла может быть любым, например Test.ahk. Далее мы запустим наш Test.ahk, просто дважды щелкнув по нему. Если все сделано правильно, в системном трее (там, где часы) появится новая иконка. Давайте посмотрим на наш сценарий. Нажимаем кнопку Windows, а затем Z. В браузере открывается сайт Google. Если вам нужно отключить или отредактировать скрипт, нажмите на него правой кнопкой мыши и выберите нужное действие в открывшемся меню.

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

Конечно, мы напишем собственный адрес для значка.

Запуск программы или документ

Для запуска программы, файла, документа, ярлыка используйте команду «Выполнить», например:

Здесь мы «повесим» все эти команды на клавиши F1-F5 . Вы также можете использовать сочетания клавиш, например, в следующем примере Win+N запускает Блокнот, а Control+Alt+C запускает Калькулятор:

Оба приведенных выше примера являются умными . содержит одну команду. Чтобы выполнить несколько команд нажатием клавиши, мы пишем наши командные ключи в первой строке, затем сами команды ниже, а в последней строке мы пишем Return. Например:

Если программа или документ не интегрированы в систему Windows, нам нужно будет ввести полный путь к файлу, который мы собираемся запустить, например:

В окне В предыдущем примере папка %ProgramFiles% является системной папкой, поэтому вам не нужно вводить конкретный путь. Этот вариант скрипта, по сравнению с вариантом написания C:\Program Files, более универсален, т.к. на другом компьютере ProgramFiles может находиться, например, на диске D:\.

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

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

Эмуляция нажатий клавиш и кликов мыши

Нажатия клавиш обычно отправляются в текущее активное окно, и для этого программа использует команду «Отправить». В следующем примере комбинация клавиш Win+S запускает последовательность нажатий клавиш. Обратите внимание, что окно, в которое вы «вводите», должно быть активным.

В приведенном выше примере все символы печатаются точно так, как они написаны в скрипте, за исключением , так как это обозначение указывает на нажатие клавиша Enter как таковая.

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

В этом примере нажатие F7 сообщает активному окну Control+C, затем Alt+Tab , затем слово «insert:» и завершается клавишей Control+V.

В описании команды Отправить можно найти полный список символов, специальных клавиш и их комбинаций, используемых в программе.

Щелчки мышью: Чтобы указать окну, чтобы оно щелкнуло, вы должны сначала указать координаты X и Y того места, где вы хотите щелкнуть. Это можно обнаружить с помощью утилит AutoScriptWriter и Window Spy, включенных в AutoHotkey.

Вот как это сделать с помощью Window Spy: Запустите Window Spy. Активируйте интересующее вас окно. Наведите курсор мыши на нужную точку и найдите ее координаты в окне Window Spy. Используйте эти координаты для создания эмуляции щелчка мыши. Например:

Примечание. Координаты щелчка всегда рассчитываются от верхнего левого угла активного окна. Окно может быть где угодно.

Чтобы переместить мышь без щелчка, используйте команду MouseMove. Для перетаскивания или выбора с помощью мыши используйте команду MouseClickDrag.

Активация и управление окнами

Чтобы активировать окно (поместить его поверх других окон), используйте команду WinActivate. Используйте команды IfWinExist или WinWait, чтобы увидеть, появилось ли искомое окно. В следующем примере мы покажем эти команды:

Читайте также:  Как кайли дженнер открыла свой бизнес

Построчные комментарии в скрипте разделяются точкой с запятой. Скрипт ничего не делает после точки с запятой.

Итак, в нашем примере скрипт сначала проверяет, активно ли окно «Без названия — Блокнот». Заметки». Если окно найдено, оно будет активировано.

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

Это наиболее часто используемые команды управления окном:

  • окно активно в данный момент
  • WinWaitActive: подождите, пока окно, которое вы ищете, станет активным (обычно используется другой командой после запуска)
  • WinClose: закройте окно
  • WinMove : Переместить или изменить размер окна
  • WinMinimize , WinMaximize, WinRestore: Свернуть, развернуть или восстановить окно соответственно

Принять комментарии с специальные окна: MsgBox, InputBox и т. д.

В нашем примере нажатие F7 вызывает диалоговое окно с двумя кнопками: «ДА» и «НЕТ»:

Используйте команду InputBox, если вы хотите, чтобы пользователь ввел слово в диалоговое окно, чтобы подтвердить выбор. Команды FileSelectFile и FileSelectFolder позволяют пользователю выбрать файл или папку. Для более сложных конструкций, таких как создание интерфейса ввода данных, используйте семейство команд Gui.

Использование переменных и буфера обмена

Переменная — это значение, зарезервированное в памяти, которое может быть любым значением. . Значение переменной может отображаться в виде последовательности букв или цифр. Хотя теоретически нет разницы между текстом и числами, в некоторых случаях программа будет вычислять чисто числовое значение совершенно иначе, чем любое другое. Например, в выражении InputString > Сравнение BookmarkString двух значений будет таким, как если бы они содержали числа вместо букв. В противном случае они будут сравниваться в алфавитном порядке.

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

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

Для сравнения композиции переменных, состоящих из цифр и букв, выполните следующие действия:

Обратите внимание, что на строкой выше второе упоминание MyVar1 закрыто в процентах. В этот момент будет воспроизводиться содержимое переменной. Тот же метод используется для копирования содержимого одной переменной в другую путем окружения разных переменных их собственными знаками процента. Так, в следующем примере переменная MyVarConcatenated имеет значение «123 my string» (без кавычек):

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

Обратите внимание, что в приведенном выше примере используются круглые скобки. Круглые скобки указывают, что оператор if содержит математическое выражение. В противном случае строка будет прочитана как «оператор if, не содержащий математических выражений», а переменная ItemLimit должна быть заключена в проценты. В этом случае оператор if будет ограничен знаком сравнения. Он также не может содержать математические символы или ссылки, такие как «И» и «ИЛИ».

Математика: чтобы выполнить математическую операцию, используйте оператор равенства с двоеточием (:=), чтобы присвоить результат переменной выражения, как в следующем примере:

Полный список инструментов для выполнения математических операций см. в разделе «Переменные и выражения».

Буфер обмена: переменная с именем «Буфер обмена» является специальной переменной, поскольку она содержит данные, которые в настоящее время находятся в буфере обмена Windows. В нашем примере, нажав F7, вы можете отобразить содержимое буфера обмена вашего компьютера в текущий момент времени:

Внешний вид окна, отображающего текст, содержащийся в буфере обмена, можно изменить, вставив текущее содержимое буфера обмена. буфер обмена с другим текстом:

В приведенном выше примере символы обозначают год и `n (ударение и буквы r и n) используют два специальных действия: возврат каретки (как на пишущей машинке) и начало новой строки. Поэтому эти две иконки сигнализируют о начале новой строки текста, как если бы пользователь нажал Enter в текстовом редакторе.

Чтобы добавить текст в содержимое буфера обмена (а также в любую другую переменную ) используется следующий метод:

Более подробную информацию о буфере обмена и переменных см. в одноименных разделах.

Повторять действия набора снова и снова

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

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

В нашем примере Цикл (циклическая часть скрипта) будет выполняться столько раз, сколько значение переменной %RunCount% равно. Если это значение равно нулю, вся операция пропускается.

Цикл также может завершиться, как только изменится один или несколько ключевых факторов:

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

Читайте также:  Как заблокировать дверной замок изнутри чтобы снаружи не открыли

Приведенный выше пример иллюстрирует общий принцип использования Loop. Для более специализированных целей вы можете использовать следующие варианты циклов:

Цикл чтения/записи файла: циклическое чтение/запись файла: получение строк в текстовом файле, по одной строке на цикл. Это можно использовать для преобразования файла в другой формат или редактирования его построчно. Кроме того, этот инструмент можно использовать для поиска строк в файле, соответствующих определенным параметрам.

Циклические файлы и папки: Поиск файлов или папок, по одному файлу/папке на цикл. Это позволяет выполнять некоторые манипуляции с выбранными файлами или папками на основе определенных критериев.

Цикл синтаксического анализа — находит строку путем синтаксического анализа слов. Это позволяет, например, разделить строку типа «Красный, Зеленый, Синий» на три части, а затем работать с каждой частью отдельно.

Цикл ведения журнала: Сканирует журнал, просматривая содержимое заданного ключ реестра построчно.

Работа с файлами и папками

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

Примечание. что в примере используется символ новой строки ( `n), т. е. новая строка будет начинаться сразу после добавления нашего текста.

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

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

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

  • FileRead: Чтение содержимого файла.
  • Цикл чтения файла: просмотр содержимого файла строка за строкой.
  • IfExist: определяет, существует ли искомый файл/папка.
  • FileSelectFile и FileSelectFolder – открывает диалоговое окно выбора файла или папки.
  • FileDelete/FileRecycle: безвозвратно удалить/переработать один или несколько файлов. Чтобы удалить всю папку, используйте команду FileRemoveDir.
  • FileCopy/FileMove: копирование/перемещение одного или нескольких файлов. Для копирования/перемещения папок используйте команды FileCopyDir/FileMoveDir.
  • Файловый цикл: поиск файлов или папок, содержащихся в определенной папке, по одному в каждом цикле.
  • FileSetAttrib и FileSetTime: изменение атрибутов и даты создания одного или нескольких файлов.
  • IniRead, IniWrite и IniDelete: Создание, доступ и работа с файлами INI стандартного формата.
  • RegRead, RegWrite, RegDelete и Registry Loop: Работа с реестром Windows.

Источник

Быстрый старт (начните здесь)

Когда вы находитесь на этой странице, вы, вероятно, чтобы начать изучать язык автоматизации Autohotkey.
В этой статье описывается установка программы, ее основные функции и примеры кода. Наберитесь терпения, запасайтесь чаем и приступайте 🙂

Все интересующие вопросы вы можете задать в нашей группе Вконтакте.

Автохоткей в games

Обратите внимание, что во многих играх макросы запрещены. Ваша учетная запись может быть заблокирована за использование Autohotkey!

Многие современные игры также имеют активный античит, чтобы предотвратить программную эмуляцию кликов. Это означает, что щелчки, воспроизводимые скриптом, можно игнорировать. Мы не поддерживаем читерство, и если античит система мешает работе Autohotkey в определенной игре, мы не поможем вам обойти защиту !

Также следует отметить, что Autohotkey предназначен для взаимодействия со средой проводника и его окнами. Такие команды, как PixelSearch, PixelGetColor и ImageSearch, могут не работать в полноэкранных 3D-приложениях. Большую часть времени Autohotkey обрабатывает 3D-рендеринг окон как черный квадрат (цвет 0x000000). Иногда проблема решается переводом игры в оконный режим, но все равно не гарантируется его правильная работа, и НЕТ универсального решения.

Установка Autohotkey и Notepad++

Перед тем, как для начала рекомендуется скачать Autohotkey с официального сайта.

После запуска установщика выберите версию программы Unicode ; иначе вместо русских букв получим иероглифы. Разрядность лучше выбирать соответствующую вашей операционной системе. Но стоит помнить, что скрипты, скомпилированные с помощью x64-версии, не будут работать в 32-битных операционных системах.

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

После установки вам понадобится файл подсветки синтаксиса autokey userDefineLang_AHK.xml . Мы сохраним его в любом удобном месте.

Теперь запустите Notepad++, выберите «Set Custom Syntax» в меню «Syntax». В открывшемся окне нажмите «Импорт» и выберите загруженный файл.
После перезапуска программы Autohotkey появится в меню «Синтаксис» и сразу откроет файлы с расширением .ahk с подсветкой синтаксиса.

Рекомендую включить сразу будет отображаться файл расширения в системе. Для этого откройте любое окно Проводника, выберите «Параметры папок и поиска» в верхнем меню «Файл». В открывшемся окне снимите флажок с вкладки «Вид». «Скрыть расширения для известных типов файлов».

Создание первого скрипта

После запуска среды Autohotkey и текстового редактора , вы можете приступить к созданию своего первого скрипта.
Скрипты представляют собой простые текстовые файлы с расширением .ahk . Запустите как любое приложение, дважды щелкните.
Чтобы отредактировать скрипт, нажмите ПКМ > Открыть с помощью > Блокнот++.

Вы можете создать простой текстовый документ и переименовать его, изменив расширение с «.txt» на «.ahk», или вы можете напрямую создать пустой скрипт, нажав ПКМ / Создать> ; /AutoHotkeyScript . Не забудьте установить Notepad++ в качестве редактора по умолчанию для файлов .ahk.

Читайте также:  Riot блицкранк как получить

Создайте скрипт со следующим кодом и запустите его. Если вы видите приветственное окно, все установлено правильно и можно продолжать.

Порядок выполнения команд

Пожалуйста, запомните! Этот момент чрезвычайно важен для понимания того, как работает программа.

Во время выполнения сценария операторы выполнения выполняются в порядке сверху вниз. Выполнение нового оператора не начнется, пока не завершится предыдущий

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

Если во время выполнения кода возникает цикл, он выполняется до тех пор, пока его условие не станет истинным, или он не будет прерван с помощью Break . Разберем, как выглядят циклы чуть ниже, не торопитесь 🙂

Комментарии к коду и отладка

Когда нужно оставить поясняющую строку в коде, появляется спасательный комментарий, разделенный символом точка с запятой по умолчанию. Интерпретатор игнорирует всю строку после ; . Обратите внимание, что в Autohotkey нет многострочных комментариев! Каждая строка экранируется отдельно.

Для отладки кода (проверки условий, отображения значений переменных и т. д.) проще всего использовать команды MsgBox и ToolTip <. 16> . Первый выводит информацию в виде окна и ждет подтверждения, второй выводит подсказку и не прерывает выполнение кода.

Клавиши быстрого доступа

Основное назначение Autohotkey — быстрое назначение клавиш доступа. Это комбинации клавиш и кнопок мыши, которые работают при нажатии. определенная последовательность команд (команда-макрос, также известная как макрос).

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

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

Строки автозамены

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

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

Эмуляция кликов

Команда отправки используется для имитации нажатия клавиш и ввода текста.
Имеет несколько вариантов: Send, SendPlay, SendInput и SendRaw. Подробнее об их различиях можно прочитать по ссылке выше.

Переменные и выражения

Переменные используются для хранения информации и управления ею. В этом вводном руководстве мы рассмотрим только три основных типа: логический, числовой и текстовый. Переменные в Autohotkey динамически меняют свой тип на основе последнего присвоенного значения.

Имя переменной не может превышать 254 символа, оно может состоять из букв, цифр и символов # _ @ $ ? [ ]. В отличие от других языковых соглашений, имена переменных горячих клавиш могут начинаться с цифр и даже содержать буквенно-цифровые символы.

Булев тип (Boolean) предназначен для хранения 1 или 0 (истина или ложь). Чаще всего используется в условиях, когда вариантов всего два, а также в функциях для обозначения успеха или неудачи операции.

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

Строковый тип хранит отдельные символы или части текста. Работа со строками немного отличается от числовых и логических переменных: для них существует ряд специальных строковых функций.

Логическое ветвление

Вы, наверное, уже думали о том, как выполнить действие ? при выполнении определенного условия? На помощь приходит ветвление с логическими операторами if и else . Есть и другие команды, представляющие условие.

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

Другим примером может быть определение времени суток:

Блок кода <> ;

Блок кода помечен фигурными скобками и объединяет несколько операторов или функций. Необходимо указать интерпретатору, что несколько команд должны выполняться одновременно. В большинстве случаев <> используется для группировки инструкций внутри условий или циклов.

Циклы

Циклы используются для многократного повторения определенного участка кода. В Autohotkey есть несколько типов, самый простой из которых — Loop.

Запуск программ, открытие ссылок

Для запуска EXE-приложений откройте проводник или окна браузера, используйте команду «Выполнить».

Команды и функции

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

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

Предупреждение:

Заключение

В этой статье описаны самые основные функции программы. Полный список функций можно найти на главной странице руководства.

Рекомендуем ознакомиться с описанием всех команд, чтобы примерно понять их назначение, прежде чем писать свой первый скрипт 🙂

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

Источник

Поделиться с друзьями
Решатор