Прощаемся с рутиной или программирование для ленивых и любознательных

Компьютеры
Программа AutoHotKeyИногда бывает лениво что-то делать на компьютере, хочется что-нибудь придумать, чтобы все делалось само. Для этого существует много специализированных программ (макрорекордеров), которые записывают движения и клики мыши и нажатия на клавиши, а потом все воспроизводят. Таким образом и получается макрос. Но, если на экране изменилось расположение окон или компьютер подзавис и окна начали временно открываться не так быстро, то макрос отработает в лучшем случае впустую, так как он просто повторит все клики мыши и нажатия клавиш в то время, когда нужных окон на экране не будет или они будут смещены. Будет гораздо хуже, если из-за роковой случайности макрос кликнет по какому-нибудь пунктику меню на экране и что-нибудь удалит. Макрорекордеры порождают неконтролируемые макросы, а нам нужен предсказуемый результат и полностью контролируемый процесс!



Язык программирования AutoHotkey

Нашелся гений-энтузиаст, который разработал простейший компилируемый язык программирования и бесплатно поделился им со всем миром! Несмотря на простоту этого языка, на нем можно писать достаточно эффективные приложения. И такие приложения пишут и продают. А сам язык "заточен" для управления всем, что видит пользователь на экране. Разработчик программ на этом языке может кликнуть мышкой по нужному окну и никогда не промахнется, даже если это окно куда-то переместилось. Более того, программно можно проверить наличие нужного окна и дождаться, когда это окно будет готово принимать на себя клики мышки! А еще можно проверить результат клика. Если цель не достигнута, можно будет все повторить.

Язык и система называются AutoHotKey или AHK. Найти можно запросом в Google или на сайте по адресу www.autohotkey.com/download/ и скачать любую из версий (AutoHotkey 1.1 или 2.0) и установить, но лучше скачать то, что предлагается по длинной кнопке, на которой написано "Download AutoHotkey Installer". Source Code не надо скачивать, так как это исходные коды всей этой "кухни".

Как только все будет скачано и установлено, можно приступать к изучению и программированию. Программки можно набирать в блокноте, но проще и удобнее это делать в редакторе для программистов Scite. Скачать можно по адресу fincs.ahk4.net/scite4ahk/.

Все программки имеют расширение "ahk". Файлы с таким расширением можно запустить на выполнение, откомпилировать или открыть для редактирования. Откомпилированная версия файла будет с расширением "exe".

В крохотной статье не получится описать все многообразие языка. Документации по нему много в Интернете. В том числе и на русском языке. На форумах можно найти ответы на многочисленные вопросы.
Некоторые примеры все же приведу.

Простейшие примеры программ

Наберите в блокноте всего одну строку:

:*:ds::Dear friend!

После этого сохраните файл с любым именем и расширением "ahk" и закройте блокнот. Созданный файл можно скомпилировать. Для этого кликните по нему правой кнопкой мышки и выберите "Compile Script". Когда появится файл с расширением "exe", откройте его. В трее появится зеленый квадратик с белой буквой "H". Скрипт работает! Теперь достаточно ввести "ds" и мгновенно получим вместо этого "Dear friend!"! При этом реакция будет именно на "ds", а, например на "sds" уже реакции не будет, то есть скрипт работает вполне адекватно.

Что делать, чтобы автозамена происходила не мгновенно, а после ввода, например, пробела? Достаточно переписать скрипт, убрав из него символ "*":

::ds::Dear friend!

Скрипт снова надо перекомпилировать. Если его сохранили под прежним именем, надо отключить работающий скрипт, иначе будет ошибка компиляции и ничего не получится. В трее правой кнопкой мыши кликаем по значку скрипта и выбираем "Exit". Теперь можно пересобрать (перекомпилировать) скрипт и вновь его запустить.

Теперь мгновенной автозамены не происходит. Чтобы автозамена сработала, надо еще и пробел ввести или на "Tab" нажать или "Enter". Все это настраивается.

Сейчас еще пример: запустим Блокнот и введем там несколько строчек текста. Первая строчка будет медленно "набираться", а остальные 32 - быстро:

Run notepad.exe
WinWait, ahk_class Notepad
WinActivate
send Note: The installer also includes an "extract to" function to extract all files without installing. This can be accessed from the installer GUI or on the command line.{ENTER}
Loop, 32
{
sendInput Help files in other languages - these are maintained by other volunteers, so are sometimes out of date{enter}
}

Эти примеры самые примитивные, а можно и что-либо нужное и полезное написать, например, автоустановку программ, чтобы все автоматически ставилось, прописывалось, настраивалось. Чтоб каждый раз не делать одно и тоже а запустить скрипт на выполнение и получить вскорости установленные и настроенные необходимые программы.
Удачи в освоении программирования!

0 комментариев

  • Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.