AutoHotkey: как отправлять содержимое буфера обмена в виде нажатий клавиш?

AutoHotkey: как отправлять содержимое буфера обмена в виде нажатий клавиш?

Я создаю скрипт autohotkey для запуска выделенного текста через калькулятор, и мне нужно отправить содержимое буфера обмена как последовательность нажатий клавиш, так как калькулятор на самом деле не поддерживает вставку математической операции. Как это сделать?

решение1

Я исправил оригинальный скрипт, который вы написали здесь:https://superuser.com/questions/7271/most-useful-autohotkey-scripts/31282#31282Теперь отлично работает на моей системе Vista.

Рассматриваемый фрагмент кода, извлеченный из глубин Wayback Machine:

^!c::
ClipSave := ClipboardAll
Send ^x
Run calc.exe
WinWaitActive Calculator
Send ^v
Send {Enter}
Sleep 250
Send ^c
WinClose
Send ^v
Clipboard := ClipSave
return

решение2

Вам нужно использовать такую ​​команду, чтобы «ввести» именно то, что находится в буфере обмена.

^+v::SendRaw %clipboard%

^+v означает ctrl+shift+v. Замените на желаемое сочетание клавиш. Смотретьэта страницадля того, какие символы соответствуют каким клавишам-модификаторам.

решение3

Чтобы сопоставить Ctrl+ Kдля отправки данных буфера обмена, например:

^k::Send %clipboard%

решение4

Для меня все остальные ответы здесь не сработали при попытке вставить в Visual Studio (он вставил знак тире после вставки). Сработало только это:

SendInput, ^v

Связанный контент