Разработчики) | Крис Маллетт, Стив Грей |
---|---|
изначальный выпуск | 10 ноября 2003 г . [1] 18 июля 2008 г . (Стив Грей) [2] [3] | (Крис Маллет)
Стабильный выпуск | 1.1.33.02 / 17 июля 2020 г . [4] |
Предварительный выпуск | 2.0-a119 / 26 июля 2020 г . [5] |
Репозиторий | |
Операционная система | Майкрософт Виндоус |
Тип | Утилита автоматизации GUI на языке сценариев |
Лицензия | GPL |
Интернет сайт | autohotkey |
AutoHotkey является свободным , открытым исходным кодом пользовательский язык сценариев для Microsoft Windows , изначально были нацелены на обеспечение простых комбинаций клавиш или горячие клавиши быстрого макро -создание и программное обеспечение автоматизации , что позволяет пользователям большинства уровней компьютерного мастерства для автоматизации повторяющихся задач в любом приложении Windows. Пользовательские интерфейсы можно легко расширить или изменить с помощью AutoHotkey (например, переопределив команды клавиш управления Windows по умолчанию их эквивалентами в Emacs ). [6]Установка AutoHotkey включает собственный обширный файл справки, а также доступна веб-документация. [7]
Особенности [ править ]
Сценарии AutoHotkey могут использоваться для запуска программ , открытия документов, имитации нажатия клавиш , символов Юникода , щелчков и движений мыши . [8] Сценарии AutoHotkey также могут назначать, извлекать и управлять переменными , запускать циклы и управлять окнами , файлами и папками . Эти команды могут быть вызваны горячей клавишей , например скриптом, который будет открывать интернет- браузер всякий раз, когда пользователь нажимает Ctrl+ Alt+Iна клавиатуре. Клавиши клавиатуры также могут быть переназначены или отключены, так что нажатие Ctrl+ N, например, может привести к тому, что активное окно получит короткое тире (-) или вообще ничего. [9] AutoHotkey также позволяет использовать "горячие строки", которые автоматически заменяют определенный текст по мере его ввода; Наиболее типичное использование строк быстрого доступа - это расширяющиеся сокращения, такие как присвоение строки «btw» для создания текста «между прочим» при вводе или текста «% o» для получения «процента». [10] Кроме того, некоторые сценарии могут запускаться автоматически при запуске компьютера и вообще не должны взаимодействовать с клавиатурой, возможно, выполняя манипуляции с файлами через заданный интервал. [11]
Более сложные задачи могут быть решены с помощью пользовательских форм ввода данных ( окна графического интерфейса пользователя ), работы с системным реестром или использования Windows API путем вызова функций из библиотек DLL . Сценарии могут быть скомпилированы в исполняемый файл, который можно запускать на других компьютерах, на которых не установлен AutoHotkey. Исходный код написан на C ++ и может быть скомпилирован с помощью Visual Studio Express .
Доступ к памяти с помощью указателей допускается так же , как в C . [12]
Некоторые варианты использования AutoHotkey:
- Переназначение клавиатуры, например, с QWERTY на Dvorak или других альтернативных раскладок клавиатуры.
- Использование ярлыков для ввода часто используемых имен файлов или других фраз.
- Знаки пунктуации, отсутствующие на клавиатуре, например изогнутые кавычки ( « … » ).
- Управление курсором мыши с помощью клавиатуры или джойстика .
- Открытие программ, документов и веб-сайтов простым нажатием клавиш.
- Добавление подписи в электронную почту , доску объявлений и т. Д.
- Мониторинг системы и автоматическое закрытие нежелательных программ.
- Планирование автоматического напоминания , сканирования системы или резервного копирования .
- Автоматизация повторяющихся задач.
- Заполнение форм конкурса и халявы автоматически (т.е. может автоматически вводиться ваше имя, адрес и т. Д.).
- Создание прототипа перед реализацией на другом, более трудоемком языке программирования.
История [ править ]
Первая публичная бета-версия AutoHotkey была выпущена 10 ноября 2003 года как форк AutoIt . [1] после того, как предложение автора Криса Маллетта интегрировать поддержку горячих клавиш в AutoIt v2 не вызвало отклика сообщества AutoIt. [13] [14] Автор начал свою собственную программу с нуля, основываясь на синтаксисе AutoIt v2 и используя AutoIt v3 для некоторых команд и компилятора. [15] Позже AutoIt v3 перешел с GPL на закрытый исходный код из-за того, что «другие проекты неоднократно использовали код AutoIt» и «позиционировали себя как конкуренты». [16]
В 2010 году AutoHotkey v1.1 (первоначально называвшаяся AutoHotkey_L) стала платформой для постоянного развития AutoHotkey. [17] В конце 2012 года он стал официальным филиалом. [18] Другой порт программы - AutoHotkey.dll. [19]
Примеры [ править ]
Следующий скрипт позволит пользователю искать определенное слово или фразу с помощью Google . После копирования текста из любого приложения в буфер обмена нажатие настраиваемой горячей клавиши ⊞ Win+ Gоткроет веб-браузер пользователя по умолчанию и выполнит поиск.
#g :: Запускаем http : // www . гугл . com / search ? q = % буфер обмена%
Следующий сценарий определяет строку автозамены, которая позволяет пользователю вводить «afaik» в любой программе и автоматически заменять ее на «насколько мне известно»:
:: AFAIK :: а пока , как я знаю ,
В приведенном ниже примере Ctrl+ ⇧ Shift+ Qзаменяет выделенный текст в редакторе цитируемой версией этого текста. Он иллюстрирует использование функций, аргументов и значений аргументов по умолчанию .
^ + q :: QuoteSelection () ; Ctrl + Shift + QQuoteSelection () { выбор : = GetSelection () ; Получить выделенный текст. PasteText ( Цитата ( выделение )) ; Процитируйте текст и вставьте его обратно. }GetSelection ( timeoutSeconds : = 0,5 ) { буфер обмена : = "" ; Очистите буфер обмена для работы ClipWait. Отправить ^ c ; Отправьте Ctrl + C, чтобы выделить в буфер обмена. ClipWait % timeoutSeconds% ; Подождите, пока скопированный текст попадет в буфер обмена. вернуть буфер обмена }PasteText ( s ) { Буфер обмена : = s ; Поместите текст в буфер обмена. Отправить ^ v ; Вставьте текст с помощью Ctrl + V. }Цитата ( и ) { return " " " " . с . " " " " }
Функции, добавленные пользователями [ править ]
Существуют библиотеки расширений / взаимодействия / встроенных скриптов, доступные для использования с / из других языков программирования:
- VB / C # ( .NET ) [20]
- Lua [21]
- Лисп [22]
- ECL [23]
- Встроенный машинный код [24]
- VBScript / JScript ( хост сценариев Windows ) [25]
Другие основные плагины обеспечивают поддержку:
- Аспектно-ориентированное программирование
- Функциональные хуки [26]
- COM- оболочки [27]
- Консольное взаимодействие [28]
- Генерация динамического кода [29]
- HID [30]
- Автоматизация Internet Explorer [31]
- Создание графического интерфейса [32]
- Синтетическое программирование [24]
- Веб-сервисы [33]
- Перехватчики событий Windows [34]
Вредоносное ПО [ править ]
Когда AutoHotkey используется для создания автономного программного обеспечения для распространения, это программное обеспечение должно включать в себя часть самого AutoHotkey, которая понимает и выполняет сценарии AutoHotkey, поскольку это интерпретируемый язык . Неизбежно, что некоторые вредоносные программы были написаны с использованием AutoHotkey. [35] Когда продукты для защиты от вредоносных программ пытаются выделить элементы вредоносных программ, которые были запрограммированы с помощью AutoHotkey, они иногда ошибочно идентифицируют AutoHotkey как виновника, а не фактическое вредоносное ПО. [36] [37] [38] [39] [40] [41] [42]
См. Также [ править ]
- AutoIt (для Windows)
- AutoKey (для Linux)
- Automator (для Macintosh )
- Букмарклет (для веб-браузеров)
- iMacros (для Firefox, Chrome и Internet Explorer)
- Keyboard Maestro (для Macintosh)
- KiXtart (для Windows)
- Macro Express (для Windows)
- Winbatch (для Windows)
Ссылки [ править ]
- ^ a b «Журнал изменений AutoHotkey за 2003-2004 годы» . Autohotkey.com. Архивировано из оригинала на 2011-11-04 . Проверено 2 декабря 2011 .
- ^ "Изменения и новые возможности | AutoHotkey" . www.autohotkey.com .
- ^ "Lexikos / AutoHotkey_L" . GitHub .
- ^ "Загрузки AutoHotkey" . autohotkey.com .
- ^ "Индекс /download/2.0" . autohotkey.com .
- ^ Свяжитесь с Эрикой Садун: Комментарий (2005-08-19). «Ericasadun 2005 Life Hacker» . Lifehacker.com . Проверено 2 декабря 2011 .
- ^ "Краткий справочник | AutoHotkey" . www.autohotkey.com .
- ^ «Учебное пособие по AutoHotkey: создание макросов и горячих клавиш» . Autohotkey.com . Проверено 2 декабря 2011 .
- ^ «Переназначение клавиш и кнопок» . Autohotkey.com . Проверено 2 декабря 2011 .
- ^ «Горячие строки и автозамена (аналогично Автотексту и Автозамене)» . Autohotkey.com. 2005-01-09 . Проверено 2 декабря 2011 .
- ^ «Горячие клавиши, горячие строки и переназначение» . Autohotkey.com . Проверено 23 мая 2018 .
- ^ «Изменения и новые функции AutoHotkey, v1.0.47 - 19 июня 2007 г.» . Autohotkey.com . Проверено 2 декабря 2011 .
- ^ "Сообщение автора Криса Маллетта на форумах AutoHotkey" . Autohotkey.com . Проверено 2 декабря 2011 .
- ^ "Нефункциональное сравнение AutoIt / AutoHotkey" . Paper linear.org. Архивировано из оригинала на 2011-12-08 . Проверено 2 декабря 2011 .
- ^ "Сообщение автора Криса Маллетта на форумах AutoHotkey" . Autohotkey.com . Проверено 2 декабря 2011 .
- ^ «Мнения о лицензировании - Форумы AutoIt» . Autoitscript.com . Проверено 2 декабря 2011 .
- ^ «Сообщение на форуме Криса, объявляющее, что AutoHotkey_L теперь является основной платформой» . Autohotkey.com . Проверено 2 декабря 2011 .
- ^ «Наша история» . Фонд AutoHotkey. 2014-05-26 . Проверено 23 июля 2016 .
- ^ "Модуль AutoHotekey.dll" . github.io . Дата обращения 13 мая 2017 .
- ^ «Взаимодействие с .NET Framework - сценарии и функции» . Сообщество AutoHotkey .
- ^ «AHK + LUA Interop (stdlib), доказательство концепции - скрипты и функции» . Сообщество AutoHotkey .
- ^ «ahklisp: lisp на win32 с cffi, sbcl и autohotkey - скрипты и функции» . Сообщество AutoHotkey .
- ^ "ahkecl: Встроенный общий lisp в ahk - Скрипты и функции" . Сообщество AutoHotkey .
- ^ a b «Функции машинного кода: Bit Wizardry - Скрипты и функции» . Сообщество AutoHotkey .
- ^ «Встроенные сценарии Windows (VBScript и JScript) и COM - сценарии и функции» . Сообщество AutoHotkey .
- ^ "функциональные перехватчики - Предложения" . Сообщество AutoHotkey .
- ^ «Стандартная библиотека COM - Сценарии и функции» . Сообщество AutoHotkey .
- ^ «LibCon - Библиотека AutoHotkey для поддержки консоли - Сценарии и функции» . Сообщество AutoHotkey .
- ^ «Низкоуровневый и динамический код - Скрипты и функции» . Сообщество AutoHotkey .
- ^ "Поддержка устройств интерфейса пользователя (HID)" .
- ^ «Автоматизация навигации и сценариев IE7 с вкладками - сценарии и функции» . Сообщество AutoHotkey .
- ^ ":: SmartGUI Creator :: - Скрипты и функции" . Сообщество AutoHotkey .
- ^ «Воробей: AHK WebServer с AHK в поддержке HTML (включая исходники) - Скрипты и функции» . Сообщество AutoHotkey .
- ^ "[инструмент] Сообщения WinEventHook - Сценарии и функции" . Сообщество AutoHotkey .
- ^ Исследования, Cybereason Nocturnus. «Fauxpersky: вредоносное ПО CredStealer, написанное с помощью AutoHotKey, маскируется под антивирус Касперского и распространяется через заражение USB-накопителей» . Проверено 29 марта 2018 .
- ^ "троян в установщике autohotkey?" . Форумы AutoHotkey . галлакшар.
- ^ "Ложноположительное предупреждение о вирусе?" . Форумы AutoHotkey . нарны.
- ^ «Ложные срабатывания антивирусных программ» . Форумы AutoHotkey . Перевозить.
- ^ "В AutoHotKey обнаружен Trojan.Antavmu" . Форумы AutoHotkey . апао.
- ^ «Avast, ложные срабатывания exe-файлов» . Форумы AutoHotkey . Дорон.
- ^ «Ложно-положительный результат: Malwarebytes Anti-Malware PRO и Windows 8» . Форумы AutoHotkey . Озадачил.
- ^ "Антивирусное сканирование для AutoHotkey112400_Install.exe" . VirusTotal .
Внешние ссылки [ править ]
- Официальный веб-сайт
- ООО «Фонд АвтоХоткей»