AutoIt: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
Перевод и дополнение по материалам официального сайта
Метка: добавление ссылки
Правка оформления примеров программ
Строка 30: Строка 30:
* Работа с объектами [[Component Object Model|COM]] (component object modelling).
* Работа с объектами [[Component Object Model|COM]] (component object modelling).
* Перехват и эмуляция клавиатурных нажатий и кликов мышки.
* Перехват и эмуляция клавиатурных нажатий и кликов мышки.
* Работа с окнами (особенно стандартными): передвижение, скрытие, отображение, изменение размера, активизация, закрытие и т.д. К окнам можно обращаться по их заголовку, отображаемому тексту, размеру, расположению, классу, по внутренним дескриторам (handle) Win32 API, определяемым с помощью входящей в комплект поставки утилиты AU3Info.
* Получение информации и взаимодействие с элементами управления (особенно стандартными): поле редактирования, переключатель, список, кнопки, статусная строка и т.д., в т.ч. неактивными.
* Интернет: чтение HTML кода страниц и скачивание файлов, работа с [[FTP]], отправка E-mail сообщений, работа с базами данных [[MySQL]] и [[SQLite]].
* Интернет: чтение HTML кода страниц и скачивание файлов, работа с [[FTP]], отправка E-mail сообщений, работа с базами данных [[MySQL]] и [[SQLite]].
* Работа с протоколами [[TCP]] и [[UDP]].
* Работа с протоколами [[TCP]] и [[UDP]].
Строка 50: Строка 52:
Для упрощения разработки графических интерфейсов существует визуальный редактор форм Koda FormDesigner, имеющий интерфейс аналогичный [[Delphi (среда разработки)|Delphi IDE]]. Поддерживается визуальное создание и изменение всех доступных в AutoIt диалоговых элементов (кнопок, полей ввода, меню и т. д.)
Для упрощения разработки графических интерфейсов существует визуальный редактор форм Koda FormDesigner, имеющий интерфейс аналогичный [[Delphi (среда разработки)|Delphi IDE]]. Поддерживается визуальное создание и изменение всех доступных в AutoIt диалоговых элементов (кнопок, полей ввода, меню и т. д.)


Исходный код AutoIt 3.1.0 доступен для загрузки в [http://www.autoitscript.com/autoit3/files/archive/autoit/ архиве AutoIt],но код дальнейших версий закрыт. Код был разработан небольшой командой, но с активной поддержкой пользователей со всего мира. Сторонняя поддержка включает, в частности, файлы справки, примеры программ, форумы техподдержки, список рассылки, утилиты.
Исходный код AutoIt 3.1.0 доступен для загрузки в [http://www.autoitscript.com/autoit3/files/archive/autoit/ архиве AutoIt]; код дальнейших версий закрыт. Код был разработан небольшой командой, но с активной поддержкой пользователей со всего мира. Сторонняя поддержка включает, в частности, файлы справки, примеры программ, форумы техподдержки, список рассылки, утилиты.


Текущая версия языка доступна для [http://www.autoitscript.com/autoit3/downloads.php скачивания] на официальном сайте проекта, также как и предыдущие релизы.
Текущая версия языка доступна для [http://www.autoitscript.com/autoit3/downloads.php скачивания] на официальном сайте проекта, также как и предыдущие релизы.
Строка 56: Строка 58:
== Пример ==
== Пример ==
'''Программа «Привет, мир»:'''
'''Программа «Привет, мир»:'''
;Выводит стандартное окно с названием «Пример», надписью «Привет, мир!» и кнопкой «ОК».
;Выводит стандартное окно с названием «Пример», надписью «Привет, мир!» и кнопкой «ОК».
MsgBox(0,"Пример","Привет, мир!")
MsgBox(0,"Пример","Привет, мир!")


'''Создание диалогового окна:'''
'''Создание диалогового окна:'''
;Выводит диалоговое окно с кнопками «ОК» и «Отмена». В случае нажатия «ОК» — выход из программы.
;Выводит диалоговое окно с кнопками «ОК» и «Отмена». В случае нажатия «ОК» — выход из программы.
;Табуляция в примере — для удобства чтения.
;Табуляция в примере — для удобства чтения.
$WantExit=MsgBox(1,"Вопрос","Хотите выйти из программы?")
$WantExit=MsgBox(1,"Вопрос","Хотите выйти из программы?")
If $WantExit == 1 Then
If $WantExit == 1 Then
Exit
Exit
EndIf
EndIf

'''Автоматический запуск программы Блокнот:'''
;Запускает Блокнот, пишет в его окне текст, закрывает программу, отменив сохранение.
Run("notepad.exe")
WinWaitActive("Безымянный — Блокнот")
Send("Вот какой-то текст.")
WinClose("Безымянный — Блокнот")
WinWaitActive("Блокнот")
Send("!Н")


== Сообщество AutoIt ==
== Сообщество AutoIt ==

Версия от 19:28, 10 ноября 2012

AutoIt
Файл:AutoitLogo4.gif
Класс языка программное обеспечение и сценарный язык
Тип исполнения интерпретируемый, компилируемый
Появился в январь 1999
Автор Джонатан Беннет и AutoIt Team
Расширение файлов .au3 или .a3x
Выпуск 3.3.8.1 (29 января, 2012)
Лицензия бесплатное программное обеспечение[1]
Сайт www.autoitscript.com/site/
Платформа Windows
ОС Windows
Логотип Викисклада Медиафайлы на Викискладе

AutoIt — свободно распространяемый язык для автоматизации выполнения задач в Microsoft Windows. В ранних версиях программа преимущественно использовалась для создания скриптов автоматизации (иногда называемых макросами) для программ Microsoft Windows. Такие скрипты полезны для выполнения часто повторяющихся задач, таких как инсталляция идентичных наборов программ на большое количество компьютеров. В более поздних версиях AutoIt улучшился дизайн языка и возросла общая функциональность, что приблизило AutoIt к языкам общего назначения.

С выходом AutoIt 3 синтаксис языка был реструктурирован и приблизился к семейству BASIC. Скрипт может быть скомпилирован в независимый от установленного в системе интерпретатора исполняемый файл.

AutoIt использует симуляцию нажатия клавиш, движений мыши и манипуляции с окнами, элементами управления. Это позволяет автоматизировать задачи пользователя Windows таким образом, какой невозможен или затруднён в других языках программирования. Кроме того, этот язык компактен, самодостаточен и работает на всех версиях Windows «прямо из коробки», без внешних .dll-библиотек и записей в реестре, что позволяет безопасно использовать его на серверах.

Возможности языка включают:

  • Совместимость с Windows 2000 / XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2
  • Версия для 64-битных систем.
  • Поддержка User Account Control (UAC) в Windows Vista.
  • Поддержка юникода, начиная с версии 3.2.4.0.
  • Запуск консольных приложений и доступ к стандартным потокам ввода/вывода.
  • Запуск программ от имени другого пользователя (функции RunAs).
  • Компиляция скрипта в EXE файл с помощью Aut2Exe.
  • Включение файлов в скомпилированный файл, которые можно извлекать при запуске.
  • Сжатие и защита исполняемого файла от декомпиляции с помощью упаковщика UPX
  • Создание графических интерфейсов GUI, информационных сообщений, форм ввода информации.
  • Вызов функций из 32-битных динамических библиотек и функций Windows API.
  • Работа с реестром Windows, буфером обмена, файлами (чтение, изменение, копирование, удаление).
  • Работа с объектами COM (component object modelling).
  • Перехват и эмуляция клавиатурных нажатий и кликов мышки.
  • Работа с окнами (особенно стандартными): передвижение, скрытие, отображение, изменение размера, активизация, закрытие и т.д. К окнам можно обращаться по их заголовку, отображаемому тексту, размеру, расположению, классу, по внутренним дескриторам (handle) Win32 API, определяемым с помощью входящей в комплект поставки утилиты AU3Info.
  • Получение информации и взаимодействие с элементами управления (особенно стандартными): поле редактирования, переключатель, список, кнопки, статусная строка и т.д., в т.ч. неактивными.
  • Интернет: чтение HTML кода страниц и скачивание файлов, работа с FTP, отправка E-mail сообщений, работа с базами данных MySQL и SQLite.
  • Работа с протоколами TCP и UDP.
  • Автоматизация работы в браузерах: Internet Explorer, Opera, FireFox.
  • Обычные элементы высокоуровневого языка, такие как работа с циклами.
  • Огромное количество функций для работы с текстом (строками), в т.ч. с регулярными выражениями в стиле Perl (используется библиотека PCRE).
  • Работа со звуком.
  • Выполнение сложных математических расчётов.
  • Простой синтаксис, похожий на BASIC.
  • AutoItX — объединённая версия в виде COM и DLL, позволяющая использовать возможности AutoIt в программах, написанных на других языках.

AutoIt распространяется с IDE, основанном на бесплатном редакторе SciTE. Компилятор, вспомогательные утилиты и справочные материалы полностью интегрированы, что делает редактор стандартным окружением для разработчиков, использующих AutoIt. Компилятор AutoIt и среда разработки SciTE легко устанавливаются, дополнительных настроек не требуется. Есть полная документация по языку AutoIt на русском языке[2].

Подобно другим скриптовым языкам, AutoIt — язык третьего поколения, использующий классическую модель и переменные вариантного типа, позволяющие хранить различные типы данных, включая массивы. В AutoIt отсутствуют (или имеют ограниченную поддержку) пространства имён, объектно-ориентированное программирование, абстрактные типы данных, классы, расширенные графические функции. Однако, помимо возможностей, встроенных в ядро AutoIt, можно воспользоваться большой библиотекой готовых функций.

Популярное использование AutoIt — разработка утилит для Microsoft Windows. Такие распространённые задачи, как мониторинг веб-сайтов, мониторинг сетей, дефрагментация дисков и резервное копирование могут быть автоматизированы и скомбинированы в виде настроенной под пользователя утилиты.

Нередко AutoIt используется для создания ботов к онлайн-играм. Боты позволяют автоматизировать некоторые действия в играх, в результате пользователь может быстрее добиться нужного результата. Такое использование Autoit не одобряется сообществом, поскольку создаёт плохую репутацию программе, однако несколько подобных скриптов могут быть найдены на официальном форуме. Использование ботов рассматривается большинством пользователей AutoIt как нечестная игра, и вам не следует ожидать значительной помощи от сообщества в их создании. Многие члены сообщества вообще не рассматривают такие запросы.

Для упрощения разработки графических интерфейсов существует визуальный редактор форм Koda FormDesigner, имеющий интерфейс аналогичный Delphi IDE. Поддерживается визуальное создание и изменение всех доступных в AutoIt диалоговых элементов (кнопок, полей ввода, меню и т. д.)

Исходный код AutoIt 3.1.0 доступен для загрузки в архиве AutoIt; код дальнейших версий закрыт. Код был разработан небольшой командой, но с активной поддержкой пользователей со всего мира. Сторонняя поддержка включает, в частности, файлы справки, примеры программ, форумы техподдержки, список рассылки, утилиты.

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

Пример

Программа «Привет, мир»:

 ;Выводит стандартное окно с названием «Пример», надписью «Привет, мир!» и кнопкой «ОК».
 MsgBox(0,"Пример","Привет, мир!") 

Создание диалогового окна:

 ;Выводит диалоговое окно с кнопками «ОК» и «Отмена». В случае нажатия «ОК» — выход из программы.
 ;Табуляция в примере — для удобства чтения.
 $WantExit=MsgBox(1,"Вопрос","Хотите выйти из программы?") 
   If $WantExit == 1 Then
      Exit
   EndIf

Автоматический запуск программы Блокнот:

 ;Запускает Блокнот, пишет в его окне текст, закрывает программу, отменив сохранение.
 Run("notepad.exe")
 WinWaitActive("Безымянный — Блокнот")
 Send("Вот какой-то текст.")
 WinClose("Безымянный — Блокнот")
 WinWaitActive("Блокнот")
 Send("!Н")

Сообщество AutoIt

Официальный англоязычный форум находится по адресу http://www.autoitscript.com/forum/. Там пользователи могут делиться своими скриптами и функциями, получать техподдержку, сообщать о багах, вносить идеи и предложения, общаться с разработчиками. Также есть сайт русскоязычного сообщества

См. также

Примечания

Ссылки