_evgeni_ (_evgeni_) wrote,
_evgeni_
_evgeni_

Categories:

Автоматизаторы работы на компьютере. Часть 1.

Введение
При работе на компьютере часто встречаются повторяющиеся действия. Отправить стандартное письмо, заполнить веб-форму, искать Гуглом на определённом сайте, проставить текущую дату в определённом формате, например ГГГГ-ММ-ДД (встречается в моей предыдущей статье) и т.д. Вначале, вбиваешь каждый раз заново вручную. Через некоторое время это надоедает, и создаёшь себе файл с шаблонами, из которого копирайтом переносишь готовые фразы. Уже лучше, но всё равно не то. Надо постоянно держать открытым файл с текстом, искать нужную. А как быть с веб-формами или поиском по сайту: site:hp.com «фраза поиска».

Нужен автоматизатор. Я перепробовал несколько. Ниже привожу избранные программы с примерами. Хочу обратить внимание, что указанные программы я собирался использовать на рабочем компьютере, поэтому для меня было принципиально важно найти бесплатное ПО для официального легального использования.

Punto Switcher
Вообще-то эта программа не для автоматизации произвольных действий на компьютере, а для автоматического переключения раскладки клавиатуры. Честно говоря, ее алгоритм немного несовершенен. Достаточно часто программа переключается не в ту раскладку на коротких последовательностях. И даже если предлагает занести в словарь исключение, то потом этим исключением не пользуется. Типичный пример – всегда коверкает мою фамилию. Была отличная программа Keyboard Ninja. Ее алгоритм переключения был куда лучше, а ложных срабатываний было куда меньше. Но автор, к сожалению, перестал ее развивать. Очень жаль. Но мы же говорим об автоматизаторах. Punto Switcher можно научить вставлять вместо акронимов фразы. Но этот функционал всё-таки в программе ограничен.

Адрес программы - http://punto.yandex.ru/

Есть версия для Mac, что радует. Программа бесплатна – и это тоже радует.

xStarter
Программа-автоматизатор идеальна для тех, кто не умеет программировать. Если это ваш случай, смело качайте.
Сайт программы http://www.xstarter.com/. Скачивать лучше бета-версии. Они достаточно устойчивы. И они значительно новее «стабильной» версии. Судя по всему, автор забросил разработку в прошлом году (последняя бета датирована 09.07.2012). А стабильная версия так и вообще выпущена 23.07.2009. Однако обе версии на столько функционально богаты, что переживать за отсутствие новья не стоит.

В программе вы в визуальном конструкторе записываете последовательность действий – управление клавиатурой, мышью, работа с файлами, электронной почтой, FTP и HTTP серверами. В наличии планировщик задач. Все преимущества перечислены на странице http://www.xstarter.com/rus/index.html. Есть возможность создания диалоговых окон, GUI.

Это мой первый автоматизатор, который использовался не «на пробу», а именно в работе. Программа зарекомендовала себя с лучшей стороны. Но у неё были некоторые недочёты, которые для меня стали критичными:
·      Некорректная работа имитации нажатия клавиш в Citrix XenApp.
·      Не всегда верная простановка раскладки клавиатуры (русская/английская) вне зависимости от указанных модификаторов.
·      Невозможность текстового программирования действий, позволившего бы ускорить разработку новых действий, их отладку, копирование и т.д.

Рискну предположить, что для большинства пользователей эти мои «критические» недочёты вообще покажутся жуткими придирками, о которых и думать-то не стоит. Однако с Citrix XenApp надо было работать. С остальным можно было смириться.
Здесь много примеров интерфейса программы http://www.xstarter.com/rus/screens.html. xStarter создавал наш соотечественник, так что в нем всё на русском, включая помощь и поддержку на форуме сайта. Для граждан России программа бесплатна. Итак, что же дальше. А дальше программирование.

AutoIt
Бесплатный открытый проект AutoIt http://www.autoitscript.com/site/autoit/.  Это интерпретатор с собственным языком программирования, напоминающим javascript, хотя разрабочкам он больше напоминает BASIC. У всех свои ассоциации. В комплект входит сам интерпретатор, конвертер в файлы EXE, ActiveX модули (не могу предположить, зачем они нужны, обычно все современные языки сами неплохо справляются с задачами управления клавиатурой и мышью), а также редактор с подсветкой синтаксиса и файлами помощи по языку программирования.

Время на изучение особенностей языка потратить придётся. Достоинством этого решения является то, что генерация нажатий клавиш и работы мыши сделано на низком уровне ОС, поэтому всё чётко работает и в терминальных решениях вроде Citrix XenApp. Наличие своего языка программирования даёт необычайную гибкость. При должном желании и сноровке можно запрограммировать самые сложные действия.
ПРИМЕРЫ

Но у AutoIt есть и минусы, которые, в конечном итоге, заставили от нее отказаться.

Нет собственного менеджера горячих клавиш. Для назначения тех или иных действий на сочетание клавиш приходилось использовать дополнительное ПО. В моем случае это был всё тот же xStarter, или, в последствии, PowerPro. Оба варианта означают трату ресурсов компьютера, дополнительные настройки и избыточный функционал. Кроме того, эти программы достаточно мощные сами по себе. И применение их лишь как  менеджера горячих клавиш напоминало забивание гвоздей микроскопом. Поэтому было найдено альтернативное решение.

AutoHotkey
Программа AutoHotkey (http://www.autohotkey.com/). Эта программа даже не конкурент AutoIt, а его двоюродный брат. Авторы впрямую говорят, что AutoHotkey – это наследник AutoIt, указывают, как конвертировать скрипты, написанные для AutoIt в те, что съест AutoHotkey.

Эта программа стала моим основным и единственным помощником по автоматизации работы на компьютере. Ее основные преимущества:

  1. Она самодостаточна. Ей не требуются внешние программы запускальщики. Сама сидит в трее и отслеживает нажатие комбинаций клавиш. Не надо настраивать ассоциации расширений с файлами действий.

  2. Не имеет ограничений по комбинациям нажатий клавиш. Никаких тебе комбобоксов, пролистываний и т.д.

  3. Имеет свой собственный языка программирования, что упрощает копирование, клонирование и модификацию последовательностей действий.

  4. Для простых действий изучать язык программирования не надо. Достаточно скопировать из примера последовательность символов и поменять вставляемый текст на свой.

  5. Мощный язык программирования, позволяющий создавать сложные последовательности действий, рисовать графические диалоговые окна,  добираться до окон операционной системы и использовать COM.

  6. Пожалуй, последний пункт 5-го преимущества вынесу в отдельную строку. COM. Можно управлять другими приложениями. Например, Internet Explorer’ом. Вообще, считаю COM отличным изобретением: объектная модель, независимость от языков программирования, возможность использовать функции специализированных приложений в своей программе.

Есть у AutoHotkey и недостатки:

  1. отсутствие редактора с подсветкой синтаксиса и помощи в выборе встроенных функций и выражений, а так же переменных. В AutoIt такой редактор присутствует.

  2. Отсутствие возможности отладки скриптов

  3. Достаточно мудреный синтаксис по работе с переменными, два метода их использования. Часть функций и выражений работает только со старым методом, часть - только с новым. При использовании неверного метода получаются неожиданные результаты. Почему такой дуализм ввели разработчики, не ясно. У меня есть предположение, что новый метод работы с переменными был введён для упрощения создания действий без программирования. Он позволяет неявно вводить переменные (незаметно для пользователя), не используя кавычек, операций присвоения и так далее. Но не все функции были переведены на работу с новым форматом. И получилось «ни два, ни полтора». Поленились ребята сделать полноценный переход.

  4. Сырость при работе с COM.


Но, не смотря на все недочёты, это самое удобное средство автоматизации, если не с точки зрения создания кода, то уж точно с точки зрения применения действий.

Выведение
В следующей статье дам примеры кода и идеи для создания собственных последовательностей действий.
Tags: it, Автоматизаторы, Компьютерное
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments