В блоге пойдет речь о приложении LibreAutomate, которое позволяет автоматизировать рутину при работе в операционной системе Windows, используя язык C#.
В процессе поиска подходящего мне приложения для автоматизации, перепробовав несколько решений, которые не устраивали по тем или иным причинам, наткнулся на два приложения:
- QuickMacros
- LibreAutomate
Сначала попробовал первую и она меня очень даже устроила. Созданные с ее помощью макросы работали стабильно и не промахивались в кликах.
Потом попробовал вторую из списка — она оказалась проще, удобнее. И при этом еще и работает с языком программирования C#. У первой был плохо читаемый в плане синтаксиса язык программирования. По итогу узнал, что обе программы — от одного разработчика. В последствии разработчик отказался развивать QuickMacros и направил все усилия на LibreAutomate.
LibreAutomate — простая бесплатная программка с интерфейсом в одном окошке, но может очень многое. Домашняя страница программы, на которой есть ссылка на скачивание и исходники. При наличии исходников приложения можно посмотреть чужой опыт и внести свои доработки.
У программы очень простой и интуитивно понятный интерфейс, состоящий всего из одного окна:

LibreAutomate для разработки несложных проектов
LibreAutomate также можно использовать в качестве среды разработки на C# для несложных проектов. Поддерживаются отладка, точки останова, работа с NuGet-пакетами. Однако полноценной замены таким IDE, как Visual Studio, она не представляет.
Способы создания макросов
Макрос можно записать, создать с использованием мастеров или написать с нуля вручную. Кто не знаком с программированием, вполне справится с записью макроса в автоматическом режиме и такой макрос уже будет работать. Синяя круглая кнопка REC запускает запись макроса, показав диалог для настроек:

Русского языка, возможно, нет. Но это не точно. Мне не принципиально, поэтому я не искал по настройкам локализацию.
В двух словах про опции. Как видно на картинке, опции с галками имеют иерархическую структуру. Каждая вложенная опция является опцией для ветки, в которую она вложена. Всего имеется 4 опции:
- Keys — запись нажатий клавиш. Вложенная опция Text при включении предпишет записывать нажатия клавиш, как текст, а не как названия клавиш. В свою очередь Text+ запишет нажатия Alt+Control+клавиша как текст, если это возможно.
- Mouse — запись кликов мыши. И опционально: Wheel — запись действий с колесиком мыши (средняя кнопка), Drag — запись движения мыши с зажатой кнопкой, Move -запись движений мыши.
- Список [Window, Control, Screen] — опция, которая указывает, относительно чего брать координаты мыши: Window — окно, Control — элемент интерфейса (кнопка, список, поле ввода или иной), Screen — экран.
- Speed — это скорость отправки текста, движения мыши, нажатий клавиш. Чем выше — тем медленнее.
Кнопки ниже: приостановить запись, удалить все записанные действия, удалить последнее действие.
Кнопка OK формирует готовый макрос в редакторе, который сразу же можно и запустить на выполнение или сделать из него библиотеку, класс, исполняемый файл, модифицировать код.
Для активации макроса можно настроить горячие клавиши, автотекст, жесты мышью. Автотекст означает, что для запуска макроса достаточно будет вести какой-либо текст.
Так как в качестве скриптового языка используется полноценный C#, то возможности этой программы при навыках и опыте в программировании практически бесконечны. В перспективе, если это будет кому-то нужно, напишу более детально про создание и использование макросов.