AutoIt

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
AutoIt
Автор(и) Джонатан Беннет та AutoIt Team
Стабільний випуск 3.3.6.1 (16 травня, 2010)
Нестабільний випуск 3.3.7.14 (10 липня, 2011)
Операційна система Microsoft Windows
Стан розробки в розробці
Ліцензія EULA
Сайт www.autoitscript.com/site/

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

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

Нові можливості мови включають:

  • Компіляція скрипту в EXE файл.
  • Можливість включення у виконуваний файл зовнішніх файлів з метою подальшого видобутку.
  • Створення графічних інтерфейсів GUI, інформаційних повідомлень, форм вводу інформації.
  • Перехоплення й емуляція клавіатури та миші.
  • Запуск консольних додатків та доступ до стандартних потоків вводу/виводу.
  • Робота з реєстром Windows, буфером обміну, файлами (читання, зміна, копіювання, видалення).
  • Робота з протоколами TCP та UDP.
  • Автоматизація роботи в бравзерах: Internet Explorer, Opera, FireFox.
  • Інтернет: читання HTML коду сторінок і скачування файлів, робота з FTP, відправка E-mail повідомлень, работа з базами данних MySQL та SQLite.
  • Робота з об’ектами COM (component object modelling).
  • Виклик функцій з 32-бітних динамічних бібліотек.
  • Робота зі звуком.
  • Виконання складних математичних розрахунків.
  • Підтримка юнікоду, починаючи з версії 3.2.4.0.
  • Версія для 64-бітних систем.
  • Підтримка User Account Control (UAC) в Windows Vista.


→ AutoIt поширюється з IDE, в основі якого безкоштовний редактор SciTE. Компілятор, допоміжні утиліти та довідкові матеріали повністю інтегровані, що -де факто- робить редактор стандартним оточенням для розробників, що використовують AutoIt.

→ Компілятор AutoIt та середовище розробки SciTE дуже легко встановлюється.

→ Є повна документація по мові AutoIt англійською та російською мовами.

Подібно до інших скриптових мов, AutoIt — мова третього покоління, використовує класичну модель та змінні варіантного типу (всьго три типи оголошення: Dim, Local, Global, що відрізняються тільки зоною видимості: авто, прості та глобальні). В AutoIt відсутні (або ж мають обмежену підтримку) простір імен, об’єктно-орієнтоване програмування, абстрактні типи даних, класи, розширені графічні функції. Проте, крім можливостей, вбудованих в ядро AutoIt, можна скористатися значною бібліотекою готових функцій.

Приклади[ред.ред. код]

Hello World: (крапка з комою використовується для коментування коду)

; перший приклад
; створити діалогове вікно з кнопкою "Ok" й дочекатись його закриття користувачем
MsgBox(0,"Example","Hello World!")

Наступний скрипт містить основні прийоми роботи, що використовуються зазвичай в AutoIt/

Run("notepad.exe"); запустити блокнот
WinWait("[CLASS:Notepad]"); зачекати поки запуститься і створить вікно
; використовується звернення по класу вікна
; клас та ще багато чого можна легко дізнатись за допомогою утиліти "AutoIt Window Info", 
; яка йде в комплекті.
Send("Емуляція вводу з клавіатури.")
For $i = 0 To 10; початок циклу. змінна $i прийматиме значення від 0 до 10
	; та вона використана не буде
	MouseMove(Random(0, @DesktopWidth), Random(0, @DesktopHeight)); випадкові рухи мишею
	; (чисто для вигляду)
Next; кінцева точка циклу

Робота з COM:

; приклад роботи із зареєстрованими об’єктами типу COM
; описи об’єктів слід шукати на сайті розробника того чи іншого програмного продукту
$oPS = ObjCreate("Photoshop.Application"); Створити Adobe Photoshop 
;(в даному випадку йде запуск програми як це відбувається при запуску вручну)
If IsObj($oPS) = False Then; перевіряємо чи не об’єкт. якщо так
	MsgBox(0, "", "Not Obj"); повідомляємо про це
	Exit; й робимо тут кінець виконання
EndIf
$oPS.displayDialogs = 3; виставляємо властивість об’єкта
; (3 = намагатись не відображати діалоги)
$oPS.load("example.jpg"); завантажуємо картинку
$oPS.doAction("НазваДії", "ГрупаДій"); мається на увазі спеціальна вкладка "Actions".
; не плутати з командами меню. 
; В даному випадку виконується група записаних послідовних перетворень зображення
$oPS.activeDocument.close(2); закрити документ (зображення)
$oPS.Quit; завершити роботу створеного об’єкту

Застосування[ред.ред. код]

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

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

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

Див. також[ред.ред. код]

Посилання[ред.ред. код]

Примітки[ред.ред. код]

2011: українське співтовариство відсутнє чи майже відсутнє. Переважна більшість технік та користувацьких розширень може бути знайдена на офіційному сайті англійською мовою. Також у деяких випадках корисні німецькі та російські ресурси.

Шаблон:Мови програмування