Clickermann

29-05-2021, 23:00

Программа Clickermann (Кликерманн или Кликерменн) представляет собой средство автоматизированного выполнения разнообразных команд и действий пользователя в операционной системе Windows и позволяет, однажды написав сценарий (скрипт с расширением .cms, обычный текстовый файл), затем многократно использовать его во избежание повторения рутинных действий. Утилита имеет российского разработчика и русскоязычный официальный веб-форум поддержки со множеством готовых скриптов, на котором также можно задать вопрос модераторам и сообществу. В программе можно записывать последовательность действий для их последующего сохранения и воспроизведения, а также имеется Редактор, в котором можно редактировать текущий скрипт и быстро вставлять в него шаблоны более 100 имеющихся функций., число которых постепенно растёт. Русская встроенная справка программы является тщательно документированной, дружественной для новичка и снабжена многими примерами для каждой встроенной команды. К существенным преимуществам программы можно отнести простоту синтаксиса языка сценариев, его гибкость при наличии/отсутствии пробелов в командах и при вводе инструкций в разном регистре букв (регистронезависимость для вводимых директив и их параметров), что весьма помогает начинающим пользователям, а также терпимость к ошибкам парсера. Данное программное обеспечение обладает полным набором средств для ознакомления с программированием, в том числе самостоятельного, и для формирования алгоритмического мышления. Программа относится к классу автокликеров. Приложение обладает миниатюрным графическим интерфейсом основного окна, чем экономит место на экране пользователя.

Язык Clickermann имеет переменные с глобальной областью видимости (и в подключаемых инклудах; но не видимы в именованных подпрограммах SUB .. END_SUB), объявляться они могут как заранее явно, так и «на ходу». Переменным свойственна динамическая типизация, возможность явно задавать тип переменной отсутствует, но это можно сделать косвенно. Параметры в командах могут быть факультативными (могут отсутствовать и быть не обязательными). Имеются разные операторы цикла: с предусловием и с постусловием, одиночного или множественного ветвления вариантов. По мнению автора программы, её язык относится к сверхвысокому уровню абстракций, и видимо, это должно рассматриваться как одно из конкурентных преимущества языка в плане удобства для массового пользователя. Синтаксис этого мини-языка программирования характеризуется минимализмом (урезанием преднастроек препроцессора) и краткостью конструкций. Также по мнению автора проекта, язык должен оставаться удобным для начинающего пользователя и быть ориентированным на массовое использование в прототипировании программ. Язык является интерпретируемым, без возможности компиляции в исполняемые бинарные файлы, и при этом не является диалоговым. Создатель языка отмечает его схожесть с Бейсиком.

Возможности

  • Рекордер действий (записывает в скрипт события клавиатуры и мыши) с возможностью сохранения и редактирования
  • С помощью самих скриптов можно эмулировать работу мышью и ввод с клавиатуры (с помощью обширного набора доступных команд), а также выполнять другие полезные действия, такие как: циклы (с определённым количеством выполнений и бесконечные), условия, вывод сообщений и звука, запуск программ (а также документов и батников) и настройка системы, работа с файлами и со строками в ОЗУ, массивы (как начальный инструмент для работы с базами данных) и математические вычисления, параллельные потоки выполнения, работа напрямую с памятью, привязка к окнам через функции WinAPI, обработка посредством DLL, работа с текущим содержимым экрана (его анализ, поиск по нему, обработка и сохранение скриншотов), файловые операции
  • Редактор скрипта (отмена, буфер, шаблоны, поиск и замена, управление курсором, вставка координат, включение лупы, комментирование, автоотступы, автопереносы)
  • Управление скриптом через мышь, так и с помощью хот-кеев (запуск, пауза / остановка, сохранение / открытие)
  • Настройки в меню (горячие клавиши, озвучка, проверка обновлений, язык интерфейса, ассоциация файлов, игнор ошибок препроцессором, формат скриншотов)
  • Скрытые настройки в текстовых файлах формата .ini (скрытие с Панели задач в трей, размеры задержек и истории, ограничение лога, качество скриншотов, шрифт, индентация, манжета, поведение увеличительной лупы)
  • Пауза перед запуском, задание количества повторов (неограниченное, фиксированное, с интервалом)
  • Лог (консольное окно, в которое выводятся все сообщения, их можно выводить разными цветами и сохранять)
  • Менеджер окон (с PID и именами процессов), в котором выбираются и настраиваются все запущенные в системе окна (размер, положение, прозрачность)
  • Закрепление поверх остальных окон для основного окошка, лога и редактора (по отдельности), а также полупрозрачность окон
  • Файл помощи с расширением .chm для офлайн-ознакомления

Недокументированные инструкции

  • системная переменная $_line
  • команда TraySay
  • конструкция IF_TIME ... END_IF
  • булевы константы #true, #false, #null
  • константы курсора #C_NORM, #C_HAND, #C_EDIT
  • директива #name
  • возможность задавать числа в шестнадцатеричном виде, начиная с v4.7.000

Платформы

Большинство пользователей программы используют её в «родной» операционной системе Windows, но из сообщений форума известно также и то, что часть пользователей используют программу в системе Android с применением сторонних эмуляторов, в виду того, что у пользователей Андроид многократно беднее выбор в инструментарии автоматизации, а уже имеющиеся инструменты (вроде программы Tasker) более сложны в изучении, не бесплатны и ограничены в функционале. Запускается программа и в уже устаревшей Windows XP, где весьма хорошо себя чувствует на старых устройствах благодаря малому потреблению оперативной памяти. Об успешности продолжительной и устойчивой эмуляции в Linux сведения отсутствуют. Системные требования программы весьма скромные, отчасти благодаря возможностям дополнительных настроек через ini-файлы, в которых задаются критические для производительности параметры (различные задержки, приоритет потока, размер лога, интервал перерисовки лупы). Периодически автор на своём форуме публикует 64-битные версии приложения (для архитектуры Windows X64).

Конкуренты

В среде AutoIt отсутствует лог, рекордер, встроенный редактор с шаблонами, возможность управления скриптом по фиксированным горячим клавиатурным комбинациям. В программе-кликере GhostMouse нельзя штатными средствами организовать работу цикла (повторение нужного кода определённое или неограниченное количество раз), а в скриптах нет никаких команд, кроме событий мыши / клавиатуры и задержек. В интернет-магазине Гугла Chrome Web Store отсутствует возможность публиковать скрипты без предварительной оплаты и авторизации (на условиях анонимности, то есть без слежки и требующейся привязки к банковской карте), нет полноценного форума для обсуждений.

Критика

Данная разработка обладает закрытым исходным кодом и не предназначена для работы во многих средах, по сути не является кроссплатформенной, и её сфера применения зачастую ограничена системой Windows (но в последнее время «в пику» этой проблеме в программе появилась поддержка внешнего препроцессора, которая, видимо, ещё только в начале своего развития, но тем не менее уже предоставляет расширенные возможности для продвинутого пользователя). И как следствие отсутствия кроссплатформенности, является языком, практически не предназначенным для использования в мобильных гаджетах и встроенных системах (особенно в свете IoT-проблематики и учитывая скорость разработки проекта). Становятся смутными перспективы развития программы через 10+ лет, и не понятно, что будет к тому времени с домашней средой, системой Windows на архитектуре x32/x64. Если же попытаться преподнести возможность запуска данной программы-автокликера в качестве кроссплатформенной на основе того факта, что она способна запускаться и работать в эмуляторах других ОС, то здесь есть нюанс: эмуляторы не всегда ведут себя предсказуемо в долгосрочной перспективе и временами значительно снижают производительность выполняющегося кода, снижая стабильность гостевой системы.

Обладает малым набором средств для конструирования разнообразных элементов интерфейса взаимодействия с пользователем (например, отсутствуют возможности настройки шрифта и задания нескольких произвольных кнопок). Также и лог программы обладает только TUI-интерфейсом, не предусматривая дальнейшего интерактивного взаимодействия с пользователем.

На текущий момент у проекта отсутствует возможность мгновенной установки готовых скриптов (как и управления сразу несколькими, невзирая на предусмотренную многопоточность) и собственный интернет-магазин расширений, несмотря на массу скопившихся на форуме пригодных к использованию пользовательских работ и передовой мировой опыт в построении настраиваемых, расширяемых систем, говорящий о насущности социализации разработки ПО и позволяющий данному средству стать чем-то большим, чем просто язык написания скриптов, превратившись в глобальный гибкий инструмент (потенциально — с открытым исходным кодом, увеличив тем самым скорость разработки и число приверженцев).

Ввиду меньшего порядка имеющихся операторов, чем у старших, более зрелых ЯП, из наличествующего арсенала функций бывалому пользователю приходится зачастую сооружать очередные «костыли» и собственные «велосипеды», чтобы реализовать казалось бы вполне базовый функционал. Со временем в ходе развития программы, возможно, данную проблему можно будет частично решить благодаря постепенному внедрению новых функций с высокой степенью абстракций, соответствующей изначальной задумке программы.

Также некоторые пользователи считают для себя проблемой то, что скрипты, написанные на языке Clickermann, нельзя скомпилировать, легко перенести на другое устройство (и запустить, как вариант — в форме отдельного исполнимого файла) без имеющейся под рукой копии программы и хотя бы беглой предварительной её настройки. Программа для полноценного функционирования требует администраторских прав и добавления себя в исключения DEP.

Миниатюрный, но увы, не настраиваемый интерфейс основного окна программы. Также нет привязки большинства кнопок панели инструментов к сочетаниям клавиш.

Де факто Юникод не поддерживается, хотя заявлена его поддержка (файлы создаются не в UTF, нет возможности выбрать тип UTF при сохранении, нет поддержки UTF-файлов локализации, в неруссифицированной версии Windows скрипты вместо русских символов показывают абракадабру).

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

Различает только пару LWin / RWin (левая / правая кнопка Windows на клавиатуре). В парах же Ctrl / Alt / Shift левые и правые кнопки не различаются, из-за чего считаются за одинаковую кнопку.

Примеры

Программа «Привет, мир» в трёх вариациях:

// Выводит в окно консоли программы строчку «Привет, мир!» print("Привет, мир!") HINTPOPUP ("Привет, мир!", "У вас новое сообщение") // Выводит внизу одноимённое системное сообщение в трее Windows DialogBox("Привет, мир!", 0, 2) // Выводит сообщение в диалоговом окне с иконкой вопроса и одной кнопкой ОК halt // Останавливает скрипт

История

В 2006-ом году была выпущена пилотная версия с базовым функционалом, а уже через пару лет начался процесс постоянного совершенствования имеющегося функционала. Как указано в справке программы, с версией v1.1 появилось текущее название программы, а также команды мыши/клавиатуры. В v1.2 появилась система настроек, а в v1.3 — возможность записи сценария. С появлением v3.0 в интерпретатор добавлена поддержка переменных. В версии v3.1 alpha появились окно лога, условные конструкции и инструкция getscreen, в редакторе добавлен перенос слов. При v3.1 beta появилась недокументированная нынче конструкция IF_TIME ... END_IF, а также системные переменные, а при v3.1 RC1 — также и IF_PIXEL_IN, в финальной v3.1 — ещё и автопроверка обновлений. В бете v3.2 добавлены циклы и инструкция TOCLIP. Начиная с v4.0.002, введена поддержка плагинов, а также ELSE в условиях, убраны некоторые старые команды. После v4.1.000 появились операции с ОЗУ, подпрограммы и резервное сохранение в backup.cms, а в v4.2.000 — COLORMODE. С появлением v4.3.000 Джонни добавил мультиязычность интерфейса и WinAPI-функции. В версию v4.4.000 добавлены многие команды, в том числее строчные функции, а с пришествием v4.5.000 в интерпретатор доблены следующие процедуры: INPUTBOX, IF_PICTURE_IN, ISKEYDOWN, HTTPGET. К версии v4.6.000 приладили директиву #include и шаблоны в редакторе. Версия v4.7.000 позволила ставить скрипт на паузу, задавать числа с точкой, а также добавлены ROUND, INT, ini-функции, в редакторе появились поиск/замена, автоотступы. В специальной редакции v4.7.000 SE добавлены команды файлов и раскладки, а с v4.8.000 к нам пришли возможность имитации ввода через порт PS/2, история открытых файлов и команды массивов. С v4.11.000 введена многопоточность и макросы для препроцессора. В v4.12.001 возникли RADIOBOX и GETKEYSDOWN, файловые функции GETDIRLIST / GETFILELIST, экранные команды SCREENSHOTFIX / PXLREPLACE, а также вернулись SETVAR / GETVAR. С версией v4.13.014 мы отказались от библиотеки httpwork.dll, заявлена поддержка Юникода, добавлены многие системные переменные (в их числе $_ver_self), команды ARRSORT и CHAR, появилась блокировка кода во время выполнения скрипта и возможность задать дефолтный скрипт datadefault.txt. К версии v4.14.000b добавлены поддержка цветных строк в логе, команда CODE и много файловых функций. С полным, более детальным списком обновлений можно познакомиться в справке программы, на странице «История развития».

Версии

Доступные версии: v4.14.000b (2019), v4.13.014 (16.05.18), v4.12.001 (25.03.16), v4.11.000 (15.10.14), v4.10.000 (03.04.14), v4.9 (31.12.13), v4.8.000 (01.10.13), v4.7.000 SE (05.12.12), v4.7.000 (12.10.12), v4.6.000 (09.03.12), v4.5.000 (16.09.11), v4.4.000 (20.07.2011), v4.3.000 (26.11.2010), v4.2.000 (05.10.2010), v4.1.000 (02.09.2010), v4.0.002 (11.06.2010), v3.2 RC1 (15.03.2010), v3.2 beta (08.02.2010), v3.1 final (25.01.2010), v3.1 RC1 (16.01.2010), v3.1 beta (05.01.2010), v3.1 alpha (12.12.2009), v3.0 (30.09.2009), v2.1 (05.08.2009), v2.0 (26.04.2009), v1.3 (11.04.2009), v1.2 (22.03.2009), v1.1 (07.01.2009), v1.0 (demo 2006).

Удалённые, неподдерживаемые теперь инструкции

  • DELVAR
  • IF_VAR, IF_NOT_VAR
  • IF_PIXEL, IF_NOT_PIXEL
  • IF_NOT_KEYDOWN, IF_NOT_TIME
  • R1:2
  • GOTO больше не поддерживает переход по номеру строки, только текстовые метки, начиная с v4.4.000
  • TOINT, TOSTR
  • Настройки горячих клавиш не совместимы со старыми файлами config.ini, начиная с v4.11.000
  • LOAD
  • Удалена библиотека httpwork.dll, начиная с v4.13.014

Галерея

  • Основные окна программы (на русском)
  • Основная форма программы Кликермэнн

  • Внутренний редактор кода Кликермэнна

  • Окно настроек Кликерменна

  • Кликерменновский Менеджер окон

  • Неофициальный интерфейс на русском

  • Интерфейс программы на иностранных языках
  • Официальный интерфейс на английском

  • Неофициальный интерфейс на английском

  • Неофициальный интерфейс на испанском

  • Интерфейс на украинском


  • PsInfo
  • ISPF
  • SystemTap
  • PhotoFiltre
  • Jessy

  •  

    • Яндекс.Метрика
    • Индекс цитирования