Создание и запуск скрипта для ввода текста на базе AutoHotkey



Механизм для ввода текста в поля данных, в случаях, когда нет возможности использовать буфер обмена.
Полезен в тех случаях, когда необходимо ввести пароль в заблокированный сеанс RDP или когда надо передать какую-либо текстовую информацию в удаленный сеанс, а буфер обмена не доступен или отключен администратором.

Представляю небольшую разработку, которая позволяет преобразовать некоторый текст (пароль, кусок кода и т.п.) в файл скрипта для AutoHotkey и имитировать ввод этого текста в некоторое поле ввода или текстовый документ.

В первое поле мы вводим текст, который требуется ввести. Во втором поле получаем готовый текст скрипта, который передается исполняемому файлу AutoHotkey. Далее скрипт просит установить курсор в нужное окно в поле ввода или текстовый документ и нажать ОК. Окно сообщения висит поверх остальных окон, так что при установке курсора не придется искать его под сотнями других открытых окошек.

После нажатия кнопки ОК, скрипт стартует ввод текста в выбранное поле ввода.

Описание

Внутри обработки две формы (УФ и обычная) с одинаковым функционалом. Исполняемый файл AutoHotkey также внутри обработки в виде макета двоичных данных. При инициировании ввода пароля, в КаталогВременныхФайлов() кладутся исполняемый файл AutoHotkey и файл скрипта. После завершения скрипта, оба файла удаляются. Код открыт.

Применение

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

Но больше всего он меня порадовал, когда пришлось менять пароль пользователя для RDP соединения. Как известно, чтобы сменить пароль, надо ввести старый пароль и два раза новый. А если стоят ограничения (причем никем не обозначенные) на минимальную длину пароля, его сложность и историю изменений, то пытаться установить пароль можно очень много раз. Соответственно, при использовании этого скрипта экономится огромное количество нервов.

Тестировалось на платформе 8.3.13.1644. Но работать должно на любой более-менее свежей версии.

1 Comment

  1. AntonSm

    Классная идея для борьбы с отключенным буфером обмена.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *