АвтоИт
Парадигма | императивный , функциональный , процедурный , рефлексивный |
---|---|
Разработано | Джонатан Беннетт |
Разработчик | ООО "АвтоИт Консалтинг" |
Впервые появился | январь 1999 г |
Стабильная версия | 3.3.16.1
/ 19 сентября 2022 г [ 1 ] |
Предварительный выпуск | |
Платформа | ИА-32 и х64 |
ТЫ | 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.
История
[ редактировать ]1999 | Январь: первая версия AutoIt (1.0). |
---|---|
Август: AutoIt v2 и AutoItX. | |
Сентябрь: первая версия AutoIt с компилятором. | |
2000 | |
2001 | |
2002 | Декабрь: AutoIt v3 (публичная бета-версия) |
2003 | |
2004 | Февраль: AutoIt v3 (стабильная версия) |
2005 | |
2006 | Сентябрь: запуск Auto3Lib. |
2007 | Ноябрь: выпущен AutoIt v3.2.10.0, Auto3Lib включен в AutoIt v3. |
2008 | Май: выпущен AutoIt v3.2.12.0 с добавленной функциональностью графического интерфейса. |
Декабрь: выпущен AutoIt (и AutoItX) v3.3.0.0. | |
2009 | Декабрь: выпущен AutoIt v3.3.2.0. |
2010 | Январь: выпущен AutoIt v3.3.4.0. |
Март: выпущен AutoIt v3.3.6.0. | |
Апрель: выпущен 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. |
Сентябрь: выпущен AutoIt v3.3.14.2. [ 6 ] | |
2016 | |
2017 | |
2018 | Февраль: выпущен AutoIt v3.3.14.3. [ 7 ] |
Март: выпущен AutoIt v3.3.14.5. [ 8 ] | |
2019 | |
2020 | |
2021 | |
2022 | Март: выпущен AutoIt v3.3.16.0. |
Сентябрь: выпущен AutoIt v3.3.16.1. |
AutoIt1 и AutoIt2 были проектами с закрытым исходным кодом и имели совершенно другой синтаксис, чем AutoIt3, синтаксис которого больше похож на VBScript и BASIC. [ 9 ]
AutoIt3 изначально был бесплатным и с открытым исходным кодом , лицензировался на условиях GNU General Public License . [ 10 ] [ 11 ] с его первоначальным публичным выпуском 3.0.100 в феврале 2004 г., [ 12 ] и имела выпуски с открытым исходным кодом в марте 2004 г. и августе 2004 г. Версия 3.0.102, выпущенная в августе 2004 г., изначально была с открытым исходным кодом, но к январю 2005 г. распространялась как с закрытым исходным кодом. [ 13 ] Последующие выпуски, начиная с версии 3.1.0 в феврале 2005 г., все были с закрытым исходным кодом. Версия 3.1.0 также была первой версией с поддержкой сценариев графического интерфейса.
Связанные проекты
[ редактировать ]Бесплатный проект AutoHotkey с открытым исходным кодом заимствовал 29 своих функций из исходного кода AutoIt 3.1. [ 14 ] Синтаксис AutoHotkey сильно отличается от синтаксиса AutoIt3 и скорее напоминает синтаксис AutoIt2.
Функции
[ редактировать ]AutoIt обычно используется для создания служебного программного обеспечения для Microsoft Windows и для автоматизации рутинных задач, таких как управление системами, мониторинг, обслуживание или установка программного обеспечения. Он также используется для имитации взаимодействия с пользователем, при котором приложение «управляется» (посредством автоматического ввода формы, нажатия клавиш, щелчков мыши и т. д.) для выполнения действий с помощью сценария AutoIt.
AutoIt также можно использовать для недорогой автоматизации лабораторий . Приложения включают синхронизацию приборов, мониторинг сигналов тревоги и сбор результатов. Также можно управлять такими устройствами, как фрезерные станки с ЧПУ и 3D-принтеры. [ 15 ]
- Поддержка 64-битного кода начиная с версии 3.2.10.0
- Дополнительные библиотеки и модули для конкретных приложений.
- Автоматизируйте отправку пользовательского ввода и нажатий клавиш в приложения, а также в отдельные элементы управления внутри приложения.
- Вызов функций в файлах DLL
- Совместимость с контролем учетных записей пользователей
- Компиляция в автономные исполняемые файлы
- Создавайте графические пользовательские интерфейсы , включая поля сообщений и ввода.
- Включите файлы данных в скомпилированный файл, которые будут извлечены при запуске.
- Управляйте окнами и процессами
- Объектно-ориентированное проектирование через библиотеку [ 16 ]
- Воспроизведение звуков, пауза, возобновление, остановка, поиск, получение текущей позиции звука и получение продолжительности звука.
- Запускайте консольные приложения и получайте доступ к стандартным потокам
- Язык сценариев со структурой, подобной BASIC, для Windows.
- Имитировать мыши движения
- Поддерживает компонентную объектную модель (COM)
- Поддерживает регулярные выражения
- Поддерживает TCP и UDP. протоколы
- Поддержка Unicode начиная с версии 3.2.4.0.
Примеры
[ редактировать ]Привет, мир
[ редактировать ]; Make available a library of constant values.
#include <MsgBoxConstants.au3>
; Displays "Hello, world!" in a message box.
MsgBox($MB_SYSTEMMODAL, "Title", "Hello, world!")
Автоматизация калькулятора Windows
[ редактировать ]; Make available a library of constant values.
#include <MsgBoxConstants.au3>
; Display a message box with a timeout of 6 seconds.
MsgBox($MB_OK, "Attention", "Avoid touching the keyboard or mouse during automation.", 6)
; Run the Windows Calculator.
Run("calc.exe")
; Wait for the calculator to become active with a timeout of 10 seconds.
WinWaitActive("[CLASS:CalcFrame]", "", 10)
; If the calculator did not appear after 10 seconds then exit the script.
If WinExists("[CLASS:CalcFrame]") = 0 Then Exit
; Automatically type the current year into the calculator.
Send(@YEAR)
; Let's slow the script down a bit so we can see what's going on.
Sleep(600)
; Automatically type in 'divide by 4', and then sleep 600 ms.
Send("/4")
Sleep(600)
; Hit the return key to display the result, and sleep 600 ms.
Send("{ENTER}")
Sleep(600)
; Copy the result to the clipboard using the Windows shortcut Ctrl+C.
Send("^c")
; Declare, and assign the contents of the clipboard to, a variable.
Local $fResult = ClipGet()
; Check to see if the variable contains a decimal point or not.
If StringInStr($fResult, ".") Then
; Display a message box with a timeout of 5 seconds.
MsgBox($MB_OK, "Leap Year", @YEAR & " is not a leap year.", 5)
Else
; This message will only display if the current year is a leap year.
MsgBox($MB_OK, "Leap Year", @YEAR & " is a leap year.", 5)
EndIf
; Close the Windows calculator - always tidy up afterwards.
WinClose("[CLASS:CalcFrame]")
Найти среднее
[ редактировать ]; Find Average by JohnOne, modified by czardas
#include <MsgBoxConstants.au3>
_Example() ; Run the example.
Func _Example()
; Display an input box and ask the user to enter some numbers separated by commas.
Local $sInput = InputBox("Find Average", "Enter some numbers separated by commas: 1,2,42,100,3")
; If an error occurred then exit the script.
If @error Then Exit
; Populate an array with the user's input.
Local $aSplit = StringSplit($sInput, ",")
; Pass the array to the function _Find_Average() and then check for errors.
Local $fAverage = _Find_Average($aSplit)
If @error Then Exit
; Display the result in a message box.
MsgBox($MB_OK, "Find Average", "Result: " & $fAverage)
EndFunc ;==>_Example
Func _Find_Average($aArray)
; If the input is not of the correct type (an array), then return an error along with the details.
If Not IsArray($aArray) Then Return SetError(1, 0, VarGetType($aArray))
; More detailed checks are possible, but for brevity just one is performed here.
; Declare a variable to store the sum of the numbers.
Local $iArraySum = 0
; Loop through the array.
For $i = 1 To $aArray[0]
; Increment the sum by the number in each array element.
$iArraySum += Number($aArray[$i])
Next
; Return the average rounded to 2 decimal places.
Return Round($iArraySum / $aArray[0], 2)
EndFunc ;==>_Find_Average
См. также
[ редактировать ]- Автогорячая клавиша
- Автомататор (для Macintosh)
- Ожидать
- iMacros
- Клавиатура Maestro (для Macintosh)
- КиХстарт
- Макро Экспресс
- тонкийБазовый
- Винбатч
Ссылки
[ редактировать ]- ^ «Загрузки AutoIt» . АвтоИт . Проверено 7 ноября 2022 г.
- ^ «Выпуск-кандидат AutoIt 3.3.16.1» . АвтоИт. 2 июня 2022 г. Проверено 7 ноября 2022 г.
- ^ «Ответ Джона (создателя AutoIt) на тему форума, посвященную правильному произношению» . [ постоянная мертвая ссылка ]
- ^ Каплан, Стив (2003). Citrix Metaframe Access Suite для Windows Server 2003 . Нью-Йорк: МакГроу-Хилл. ISBN 0-07-219566-5 .
- ^ «Пользовательские функции» . АвтоИт. 22 июня 2021 г. Проверено 16 июля 2021 г.
- ^ «История АвтоИта» . www.autoitscript.com . Проверено 19 апреля 2016 г.
- ^ Беннетт, Джонатан (2 февраля 2018 г.). «Выпущен AutoIt v3.3.14.3» .
- ^ Беннетт, Джонатан (16 марта 2018 г.). «Выпущен AutoIt v3.3.14.5» .
- ^ «Язык сценариев AutoIt» . Архивировано из оригинала 11 февраля 2005 г.
- ^ «Мнения о лицензировании» . АвтоИт . 2 мая 2005 г. Проверено 5 октября 2018 г.
Лицензия GPL была выбрана, поскольку она считается наиболее строгой.
- ^ «Лицензия» . 25 марта 2014 г. Архивировано из оригинала 4 января 2005 г. Проверено 5 октября 2018 г.
AutoIt является защищенным авторским правом программным обеспечением, распространяемым на условиях Стандартной общественной лицензии GNU (далее «GPL»).
- ^ «Индекс /autoit3/files/archive/autoit» . www.autoitscript.com . Проверено 17 ноября 2022 г.
- ^ «АвтоИт» . Архивировано из оригинала 6 февраля 2005 г.
- ^ «Три пальца вверх! — Оффтопик» . Сообщество AutoHotkey .
- ^ Карвалью, Матеус К. (март 2016 г.). Практическая автоматизация лабораторий: стало проще с AutoIt . Уайли В. стр. 5–7. ISBN 978-3-527-34158-0 . Темы, рассматриваемые в этой книге.
- ^ «AutoitObject. библиотека для использования объектно-ориентированного проектирования в autoit» . 26 февраля 2010 г. Архивировано из оригинала 26 февраля 2010 г. Проверено 16 июля 2021 г.