Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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)

Ссылки [ править ]

  1. ^ a b «Журнал изменений AutoHotkey за 2003-2004 годы» . Autohotkey.com. Архивировано из оригинала на 2011-11-04 . Проверено 2 декабря 2011 .
  2. ^ "Изменения и новые возможности | AutoHotkey" . www.autohotkey.com .
  3. ^ "Lexikos / AutoHotkey_L" . GitHub .
  4. ^ "Загрузки AutoHotkey" . autohotkey.com .
  5. ^ "Индекс /download/2.0" . autohotkey.com .
  6. ^ Свяжитесь с Эрикой Садун: Комментарий (2005-08-19). «Ericasadun 2005 Life Hacker» . Lifehacker.com . Проверено 2 декабря 2011 .
  7. ^ "Краткий справочник | AutoHotkey" . www.autohotkey.com .
  8. ^ «Учебное пособие по AutoHotkey: создание макросов и горячих клавиш» . Autohotkey.com . Проверено 2 декабря 2011 .
  9. ^ «Переназначение клавиш и кнопок» . Autohotkey.com . Проверено 2 декабря 2011 .
  10. ^ «Горячие строки и автозамена (аналогично Автотексту и Автозамене)» . Autohotkey.com. 2005-01-09 . Проверено 2 декабря 2011 .
  11. ^ «Горячие клавиши, горячие строки и переназначение» . Autohotkey.com . Проверено 23 мая 2018 .
  12. ^ «Изменения и новые функции AutoHotkey, v1.0.47 - 19 июня 2007 г.» . Autohotkey.com . Проверено 2 декабря 2011 .
  13. ^ "Сообщение автора Криса Маллетта на форумах AutoHotkey" . Autohotkey.com . Проверено 2 декабря 2011 .
  14. ^ "Нефункциональное сравнение AutoIt / AutoHotkey" . Paper linear.org. Архивировано из оригинала на 2011-12-08 . Проверено 2 декабря 2011 .
  15. ^ "Сообщение автора Криса Маллетта на форумах AutoHotkey" . Autohotkey.com . Проверено 2 декабря 2011 .
  16. ^ «Мнения о лицензировании - Форумы AutoIt» . Autoitscript.com . Проверено 2 декабря 2011 .
  17. ^ «Сообщение на форуме Криса, объявляющее, что AutoHotkey_L теперь является основной платформой» . Autohotkey.com . Проверено 2 декабря 2011 .
  18. ^ «Наша история» . Фонд AutoHotkey. 2014-05-26 . Проверено 23 июля 2016 .
  19. ^ "Модуль AutoHotekey.dll" . github.io . Дата обращения 13 мая 2017 .
  20. ^ «Взаимодействие с .NET Framework - сценарии и функции» . Сообщество AutoHotkey .
  21. ^ «AHK + LUA Interop (stdlib), доказательство концепции - скрипты и функции» . Сообщество AutoHotkey .
  22. ^ «ahklisp: lisp на win32 с cffi, sbcl и autohotkey - скрипты и функции» . Сообщество AutoHotkey .
  23. ^ "ahkecl: Встроенный общий lisp в ahk - Скрипты и функции" . Сообщество AutoHotkey .
  24. ^ a b «Функции машинного кода: Bit Wizardry - Скрипты и функции» . Сообщество AutoHotkey .
  25. ^ «Встроенные сценарии Windows (VBScript и JScript) и COM - сценарии и функции» . Сообщество AutoHotkey .
  26. ^ "функциональные перехватчики - Предложения" . Сообщество AutoHotkey .
  27. ^ «Стандартная библиотека COM - Сценарии и функции» . Сообщество AutoHotkey .
  28. ^ «LibCon - Библиотека AutoHotkey для поддержки консоли - Сценарии и функции» . Сообщество AutoHotkey .
  29. ^ «Низкоуровневый и динамический код - Скрипты и функции» . Сообщество AutoHotkey .
  30. ^ "Поддержка устройств интерфейса пользователя (HID)" .
  31. ^ «Автоматизация навигации и сценариев IE7 с вкладками - сценарии и функции» . Сообщество AutoHotkey .
  32. ^ ":: SmartGUI Creator :: - Скрипты и функции" . Сообщество AutoHotkey .
  33. ^ «Воробей: AHK WebServer с AHK в поддержке HTML (включая исходники) - Скрипты и функции» . Сообщество AutoHotkey .
  34. ^ "[инструмент] Сообщения WinEventHook - Сценарии и функции" . Сообщество AutoHotkey .
  35. ^ Исследования, Cybereason Nocturnus. «Fauxpersky: вредоносное ПО CredStealer, написанное с помощью AutoHotKey, маскируется под антивирус Касперского и распространяется через заражение USB-накопителей» . Проверено 29 марта 2018 .
  36. ^ "троян в установщике autohotkey?" . Форумы AutoHotkey . галлакшар.
  37. ^ "Ложноположительное предупреждение о вирусе?" . Форумы AutoHotkey . нарны.
  38. ^ «Ложные срабатывания антивирусных программ» . Форумы AutoHotkey . Перевозить.
  39. ^ "В AutoHotKey обнаружен Trojan.Antavmu" . Форумы AutoHotkey . апао.
  40. ^ «Avast, ложные срабатывания exe-файлов» . Форумы AutoHotkey . Дорон.
  41. ^ «Ложно-положительный результат: Malwarebytes Anti-Malware PRO и Windows 8» . Форумы AutoHotkey . Озадачил.
  42. ^ "Антивирусное сканирование для AutoHotkey112400_Install.exe" . VirusTotal .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • ООО «Фонд АвтоХоткей»