Тема: AutoHotkey: автоматическое ASCII-кодирование
Чтобы раз и навсегда обойти проблему несоответсвия раскладки, иногда выгодно заранее все перекодировать в ASCII-коды, применяемые AutoHotkey.
Давно хотел с этим разобраться, и вот взялся да и написал скриптец.
Скрипт кодирует текст, находящийся в буфере обмена, и возвращает готовые данные туда же.
; ASCII Encryption
n = 1 ; задать порядковый номер читаемого символа буфера обмена
F4::
StringLen, i, Clipboard ; определить длину строки в буфере обмена -> %i%
Loop, %i% ; повторять процесс согласно количества символов в строке буфера обмена
{
StringMid, Symbol, Clipboard, %n%, 1 ; прочитать один символ из строки буфера обмена, начиная с первого -> %Symbol%
Transform, ASCII, Asc, %Symbol% ; перекодировать полученный символ в код ASCII -> %ASCII%
Code = {ASC %ASCII%} ; добавить фигурные скобки
Done = %Done%%Code% ; добавить полученное в конец строки переменной -> %Done%
n += 1 ; увеличить число на единицу, для чтения следующего символа буфера обмена
}
Clipboard = %Done% ; вернуть итоговые данные в буфер обмена
Done = ; очистить переменную Done для последующего использования
n = 1 ; вернуть номер читаемого символа на единицу
SplashTextOn, 400, 180, ASCII Encryption, `n`n All job done`n successfully ; сообщение об успешном завершении работы
Sleep, 500
SplashTextOff
Return
;Send, ^{SC02E} ; ^c - копировать
;Send, ^{SC02F} ; ^v - вставить