Использование AutoIt
Одному моему знакомому нужно было автоматизировать процес нажатия на клавиши в интернете (думал что заполнив пару анкет по ~500 вопросов будет иметь кучу бабла). Я решил ему помочь, хотя сначала не знал как. Искав в интернете я наткнулся на AutoIt (скачать).
Немного теории
AutoIt – свободно распостраняемый язык для выполнения задач в Microsoft Windows. В ранних версиях, программа преимущественно использовалась для создания скриптов автоматизации для программ Microsoft Windows.
С выходом 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).
Подобно другим скриптовым языкам, AutoIt – язык третьего поколения, использующий классическую модель и переменные вариантного типа, позволяющие хранить различные типы данных, включая массивы. В AutoIt отсутствуют (или имеют ограниченную поддержку) пространства имён, объектно-ориентированное программирование, абстрактные типы данных, классы, расширенные графические функции.
Для упрощения разработки графических интерфейсов существует визуальный редактор форм Koda FormDesigner, имеющий интерфейс аналогичный Delphi IDE. Поддерживается визуальное создание и изменение всех доступных в AutoIt диалоговых элементов (кнопок, полей ввода, меню и т.д.)
Немного практики или как я ехал в Магадан
Итак. Програмка была успешно написана, все довольны, знакомый пошел в интернет.
Я решил написать что-то для себя, какую то мелочь. Поразмыслив, было решено написать мини-програмку выключения компьютера. Да, да, можно просто нажать на кнопку Shut down или создать ярлык из текстом «shutdown -f -s -t 0», но использовать AutoIt как-то интересней. :-)
Чтобы использовать функции перемещения мыши и нажатия на ее клавиши, нужно добавить ссылку на AutoItX3.dll. После выполнения не хитрых действий «Проект → Добавить ссылку...», Visual Studio сообщило чтобы я (поехал в Магадан) проверил свою .dll. Тогда я (ее тоже послал) скопировал AutoItX3.dll в папку System32 и зарегистрировал ее (запуск консольки с правами администратора → программа regsvr32 → путь к AutoItX3.dll). Добавив ссылку в проект я написал не мудрённый код. Было учтено расширение моего нетбука 1024x600, располажение Taskbar и величина стартового меню. У меня вышло это:
namespace shut_down_autoit { using System.Windows.Forms; public partial class Form1 : Form { public Form1() { InitializeComponent(); AutoItX3Lib.AutoItX3 autoIt = new AutoItX3Lib.AutoItX3(); //Магия программирования autoIt.MouseMove(1000, 25, 10); //Движем курсор мыши autoIt.MouseClick("Left", 1000, 25, 1, 10); //Нажимаем левую кнопку autoIt.MouseMove(900, 570, 10); autoIt.MouseClick("Left", 900, 570, 1, 10); } } }
Немного ссылок по теме
- Официальный сайт AutoIt (англ.);
- Русское сообщество AutoIt;
- Обзор скриптового языка AutoIt;
- AutoIt v3: Your Quick Guide by Andy Flesner — опубликовано O`Reilly Media в сентябре 2007 — в настоящее время единственная публикация, целиком посвящённая языку;
- Видео уроки AutoIt.
Компании из статьи
O'Reilly
|
O'Reilly Media spreads the knowledge of innovators and expert early adopters to everyday users through its books, conferences, news reportage, videos, and classes. Founded in 1978, O'Reilly Media spre... |
Microsoft Украина | Украинское подразделение компании Microsoft. |