Использование AutoIt

понедельник, 15 августа 2011, Владимир Мудрык

alt text

Одному моему знакомому нужно было автоматизировать процес нажатия на клавиши в интернете (думал что заполнив пару анкет по ~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);
        }
    }
}

Немного ссылок по теме

Компании из статьи


O'Reilly


Сайт:
http://oreilly.com/

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 Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии