Парадигма | Объектно-ориентированный , императивный , функциональный , процедурный , рефлексивный |
---|---|
Разработано | Джонатан Беннетт |
Разработчик | AutoIt Consulting Ltd. |
Впервые появился | Январь 1999 г . |
Стабильный выпуск | 3.3.14.5 / 16 марта 2018 г . [1] |
Предварительный выпуск | |
Платформа | IA-32 и x64 |
Операционные системы | Windows XP SP3 и новее Windows Server 2003 и новее |
Лицензия | Бесплатное ПО |
Расширения имени файла | .au3 |
Интернет сайт | www |
Под влиянием | |
БАЗОВЫЙ |
AutoIt / ɔː t oʊ ɪ t / [3] - это бесплатный язык программирования для Microsoft Windows . В своем самом раннем выпуске он был в первую очередь предназначен для создания сценариев автоматизации (иногда называемых макросами ) для программ Microsoft Windows [4], но с тех пор в него были внесены улучшения как в дизайне языка программирования, так и в общей функциональности.
Язык сценариев в AutoIt 1 и 2 был основан на операторах и разработан в первую очередь для имитации взаимодействия с пользователем. Начиная с версии 3, синтаксис AutoIt аналогичен синтаксису семейства языков BASIC . В этой форме AutoIt представляет собой язык программирования общего назначения третьего поколения с классической моделью данных и вариантным типом данных, который может хранить несколько типов данных, включая массивы.
Сценарий автоматизации AutoIt можно преобразовать в сжатый автономный исполняемый файл, который можно запускать на компьютерах, даже если на них не установлен интерпретатор AutoIt. Широкий спектр библиотек функций (известных как UDF или «функции, определяемые пользователем») [5] также включены в стандартную комплектацию или доступны на веб-сайте для добавления специализированных функций. AutoIt также распространяется с IDE на основе бесплатного редактора SciTE . Компилятор и текст справки полностью интегрированы и обеспечивают де-факто стандартную среду для разработчиков, использующих AutoIt.
Особенности [ править ]
- Язык сценариев с BASIC-подобной структурой для Windows
- Компиляция в отдельные исполняемые файлы
- Дополнительные библиотеки и модули для конкретных приложений
- Поддержка TCP и UDP протоколы
- Поддерживает компонентную объектную модель (COM)
- Вызов функций в файлах DLL
- Запускайте консольные приложения и получайте доступ к стандартным потокам
- Включить файлы данных в скомпилированный файл для извлечения при запуске
- Создавайте графические пользовательские интерфейсы , включая поля сообщений и ввода
- Воспроизведение звуков, пауза, возобновление, остановка, поиск, получение текущей позиции звука и длины звука
- Имитируйте движения мыши
- Управляйте окнами и процессами
- Автоматизировать отправку пользовательского ввода и нажатия клавиш в приложения, а также в отдельные элементы управления в приложении
- Поддержка Unicode с версии 3.2.4.0
- Поддержка 64-битного кода с версии 3.2.10.0
- Поддерживает регулярные выражения
- Совместимость с контролем учетных записей пользователей
- Объектно-ориентированный дизайн через библиотеку [6]
Использование [ править ]
AutoIt обычно используется для создания служебного программного обеспечения для Microsoft Windows и автоматизации рутинных задач, таких как управление системами, мониторинг, обслуживание или установка программного обеспечения. Он также используется для имитации взаимодействия с пользователем, посредством чего приложение «управляется» (посредством автоматического ввода формы, нажатия клавиш, щелчков мыши и т. Д.) Для выполнения действий с помощью сценария AutoIt.
AutoIt также можно использовать в недорогой автоматизации лабораторий . Приложения включают синхронизацию приборов, мониторинг сигналов тревоги и сбор результатов. Также можно управлять такими устройствами, как фрезерные станки с ЧПУ и 3D-принтеры. [7]
Примеры [ править ]
Привет, мир [ править ]
; Сделайте доступной библиотеку постоянных значений. # включить < MsgBoxConstants . au3 >; Отображает «Привет, мир!» в почтовом ящике. MsgBox ( $ MB_SYSTEMMODAL , «Заголовок» , «Привет, мир!» )
Автоматизация калькулятора Windows [ править ]
; Сделайте доступной библиотеку постоянных значений. # включить < MsgBoxConstants . au3 >; Отображение окна сообщения с таймаутом 6 секунд. MsgBox ( $ MB_OK , «Внимание» , «Не прикасайтесь к клавиатуре или мыши во время автоматизации.» , 6 ); Запустите калькулятор Windows. Выполнить ( "calc.exe" ); Подождите, пока калькулятор станет активным с таймаутом 10 секунд. WinWaitActive ( "[КЛАСС: CalcFrame]" , "" , 10 ); Если через 10 секунд калькулятор не появился, выйдите из скрипта. Если WinExists ( "[CLASS: CalcFrame]" ) = 0 Тогда Выход; Автоматически введите текущий год в калькулятор. Отправить ( @YEAR ); Давайте немного замедлим сценарий, чтобы увидеть, что происходит. Сон ( 600 ); Автоматически введите «разделить на 4», а затем спите 600 мс. Отправить ( "/ 4" ) в спящий режим ( 600 ); Нажмите клавишу возврата, чтобы отобразить результат, и спите 600 мс. Отправить ( "{ENTER}" ) Спящий режим ( 600 ); Скопируйте результат в буфер обмена с помощью сочетания клавиш Windows Ctrl + C. Отправить ( "^ c" ); Объявите переменную и присвойте ей содержимое буфера обмена. Локальный $ fResult = ClipGet (); Проверьте, содержит ли переменная десятичную точку или нет. Если StringInStr ( $ fResult , "." ) Then ; Отображение окна сообщения с таймаутом 5 секунд. MsgBox ( $ MB_OK , «Високосный год» , @YEAR & «не високосный год.» , 5 ) Иначе ; Это сообщение отображается, только если текущий год високосный. MsgBox ( $ MB_OK , «Високосный год» , @YEAR & «високосный год.» , 5 ) EndIf; Закройте калькулятор Windows - всегда убирайте после этого. WinClose ( "[КЛАСС: CalcFrame]" )
Найти среднее [ править ]
; Найти среднее значение от JohnOne, изменено czardas #include < MsgBoxConstants . au3 >_Example () ; Запустите пример.Func _Example () ; Отобразите поле ввода и попросите пользователя ввести несколько чисел, разделенных запятыми. Local $ sInput = InputBox ( "Найти среднее" , "Введите числа, разделенные запятыми: 1,2,42,100,3" ); Если произошла ошибка, выйдите из скрипта. Если @error Тогда выход ; Заполните массив вводом пользователя. Локальный $ aSplit = StringSplit ( $ sInput , "," ) ; Передайте массив функции _Find_Average (), а затем проверьте наличие ошибок. Местные $ fAverage = _Find_Average ( $ aSplit ) Если @error Тогда выход ; Отобразите результат в окне сообщения. MsgBox ( $ MB_OK , "Найти среднее" , "Результат:" & $ fAverage ) EndFunc ; ==> _ ПримерFunc _Find_Average ( $ aArray ) ; Если входные данные не правильного типа (массив), вернуть ошибку вместе с деталями. Если не IsArray ( $ aArray ) Тогда Return SetError ( 1 , 0 , VarGetType ( $ aArray )) ; Возможны более детальные проверки, но для краткости здесь сделана всего одна. ; Объявите переменную для хранения суммы чисел. Локальный $ iArraySum = 0 ; Прокрутите массив. Для $ я = 1 К $ aArray [ 0 ] ; Увеличьте сумму на число в каждом элементе массива. $ iArraySum + = Number ( $ aArray [ $ i ]) Далее ; Возвратите среднее значение, округленное до 2 знаков после запятой. Возврат раунда ( $ iArraySum / $ aArray [ 0 ], 2 ) EndFunc ; ==> _ Find_Average
История [ править ]
- Январь 1999 г. - первая версия AutoIt (1.0)
- Август 1999 - AutoIt v2 и AutoItX
- Сентябрь 1999 г. - первая версия AutoIt с компилятором
- Декабрь 2002 г. - AutoIt v3 (общедоступная бета-версия)
- Февраль 2004 - AutoIt v3 (стабильный)
- Сентябрь 2006 г. - запуск Auto3Lib
- Ноябрь 2007 г. - выпущен AutoIt v3.2.10.0, Auto3Lib включен в AutoIt v3
- Май 2008 г. - выпущен AutoIt v3.2.12.0, включающий дополнительные функции графического интерфейса.
- Декабрь 2008 г. - выпущен AutoIt (и AutoItX) v3.3.0.0
- Декабрь 2009 г. - выпущен AutoIt v3.3.2.0.
- Январь 2010 г. - выпущен AutoIt v3.3.4.0.
- Март 2010 г. - выпущен AutoIt v3.3.6.0.
- Апрель 2010 г. - выпущен AutoIt v3.3.6.1.
- Декабрь 2011 г. - выпущен AutoIt v3.3.8.0
- Январь 2012 г. - выпущен AutoIt v3.3.8.1
- Декабрь 2013 г. - выпущен AutoIt v3.3.10.0
- Июнь 2014 г. - выпущен AutoIt v3.3.12.0
- Июль 2015 г. - выпущены AutoIt v3.3.14.0 и v3.3.14.1
- Сентябрь 2015 г. - выпущен AutoIt v3.3.14.2 [8]
- Февраль 2018 г. - выпущен AutoIt v3.3.14.3 [9]
- Март 2018 г. - выпущен AutoIt v3.3.14.5 [10]
Разработчики AutoIt первоначально выпустили исходный код под Стандартной общественной лицензией GNU (GPL) , [11] [12], но эта практика была прекращена, начиная с версии 3.2.0 в августе 2006 года. [ Необходима ссылка ] В соответствии с условиями GPL , часть кода из версии 3.1 использовалась для создания вилки в проекте AutoHotkey [13], где сообщество продолжает разрабатывать и выпускать код под GPL.
См. Также [ править ]
- AutoHotkey
- Automator (для Macintosh)
- Ожидать
- Keyboard Maestro (для Macintosh)
- KiXtart
- iMacros
- Макро Экспресс
- thinBasic
- Winbatch
Ссылки [ править ]
- ^ "Загрузки AutoIt" .
- ^ "AutoIt v3.3.15.3 Beta" . AutoIt. 2020-05-16 . Проверено 29 мая 2020 .
- ^ Ответ Джона (создателя AutoIt) на тему форума, посвященную правильному произношению [ постоянная мертвая ссылка ]
- ^ Каплан, Стив (2003). Citrix Metaframe Access Suite для Windows Server 2003 . Нью-Йорк: Макгроу-Хилл. ISBN 0-07-219566-5.
- ^ https://www.autoitscript.com/wiki/User_Defined_Functions
- ^ AutoitObject. библиотека для использования объектно-ориентированного дизайна в autoit. Архивировано 26 февраля 2010 г. на Wayback Machine.
- ^ Carvalho, Матеус C. (март 2016). Практическая автоматизация лабораторий: стало проще с AutoIt . Уайли В. С. 5–7. ISBN 978-3-527-34158-0. Темы, затронутые в этой книге.
- ^ "История AutoIt" . www.autoitscript.com . Проверено 19 апреля 2016 .
- ^ AutoIt v3.3.14.3 от 2 февраля 2018 г.
- ^ AutoIt v3.3.14.5 от 16 марта 2018 г.
- ^ «Лицензионные мнения» . AutoIt . 2005-05-02 . Проверено 5 октября 2018 .
Лицензия GPL была выбрана, поскольку она общепринята как наиболее ограничивающая.
- ^ "Лицензия" . 2014-03-25. Архивировано из оригинала на 2005-01-04 . Проверено 5 октября 2018 .
AutoIt - это защищенное авторским правом программное обеспечение, распространяемое на условиях Стандартной общественной лицензии GNU (далее «GPL»).
- ^ Крис Маллет (автор AutoHotkey) к сообщению
Внешние ссылки [ править ]
- Официальный веб-сайт