AutoIt

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

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

 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 наявна англійською та російською мовами.

Подібно до інших скриптових мов, 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: українське співтовариство відсутнє чи майже відсутнє. Переважна більшість технік та користувацьких розширень може бути знайдена на офіційному сайті англійською мовою. Також у деяких випадках корисні німецькі та російські ресурси.

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.