AutoIt
В том же MS Office, Corel Draw макросы пишутся на языке VBA, хотя раньше эти языки были немного другими. В любом случае, попробуйте-ка без использования макросов составить целую пачку приглашений, преобразовать в графику результаты сотен и тысяч внешних отчетов и т.д. К примеру, автор данной статьи, получая в свое время отчет программы в формате .txt, окончательно озверел от постоянного ручного конвертирования файла в документ Word и преобразования его частей в таблицу и написал соответствующий макрос на 15 строчек. Вид того, как редактор как бы САМ вводит текст, «утюжит» его и преобразовывает (с небольшой задержкой), вызывает исключительное умиление. И тут, кстати, важен именно воспитательный момент: прежде чем пытаться автоматизировать какой-то процесс, нужно самостоятельно пройти через все этапы этого действия, чтобы устать и накопить злость. Вот поэтому автоматизация «со стороны» не дает результатов – чаще после этого приходится работать вручную еще больше. Ну да ладно.
В самой системе Windows макросы тоже есть, и их обеспечивает подмножество все того же Бейсика, а сценарии могут быть написаны на VBScript. К сожалению, для сложных вещей его возможностей недостаточно. К примеру, нет операторов работы с экраном напрямую, считывания параметров запущенных приложений и т.д. Грубо говоря, сценарии лучше всего работают в «тихом режиме», настраивая параметры системы и служб без лишних указаний. Нужен был такой язык, который позволил бы полностью заменить человека – независимо от того, какие программы он использует, чтобы обрабатывать данные с сайтов, настраивать приложения под конкретных заказчиков, чтобы макросы работали как в режиме консоли, так и GUI. И такой язык макросов появился. Автором языка является Джонатан Беннет, а язык носит название AutoIt (последняя версия 3.3.8.1). Сразу нужно предупредить некоторые вопросы:
- Большинство функций языка разрабатывает не столько автор, сколько сообщество, так что за новостями специализированных форумов нужно следить.
- Язык очень похож на Бейсик, при этом многие сложные вещи (вроде GUI) делаются на нем исключительно легко.
- Сам проект бесплатен, но есть мнение, что в нем недостаточно внимания уделяют рекламе проекта, переводу документации – форумы переполнены одними и теми же вопросами.
- Интерпретатор языка и его компилятор работают только в среде Windows.
Говоря коротко, с версии 3 языка, где было много усовершенствований, стало возможным:
- Программировать клавиши мыши и ввод текста в любых запущенных приложениях по имени или PID. Если приложение неактивно, то его также можно запустить. Уже это дает возможность автоматизировать многое. К примеру, соединиться с Сетью, зайти на сайты, скачать новости и запустить программу их преобразования в формат MySQL.
- Скрипт можно преобразовать в независимый exe-файл.
- Язык умеет обращаться с реестром, буфером отмена системы, проводить операции с файлами, использовать множество стандартных функций языка, включая ветвления, циклы, задержки и т.д.
- Поддержка 64-разрядных систем, юникода, вызовов функций из DLL библиотек, умение работать с базами данных. Работа с COM, ActiveX.
- Полный набор работы с Интернет: почта, FTP, TCP, UDP, скачивание страниц и файлов.
- Расширение обработки данных за счет регулярных выражений.
Как-то сразу получилось, что AutoIt нашел свое основное применение в создании ботов для онлайн-игр, что в среде разработчиков очень не приветствуется. Манимейкеры пытаются приспособить его в качестве систем для автокликов и выполнения заданий, что тоже не добавляет радости. Между тем, «честная» работа для языка найдется всегда. |