AutoHotkey: как отправить содержимое буфера обмена при нажатии клавиш?
8824
RCIX
Я делаю скрипт autohotkey для запуска выделенного текста через калькулятор, и мне нужно отправить содержимое буфера обмена в виде последовательности нажатий клавиш, поскольку калькулятор на самом деле не поддерживает вставку математической операции. Как это будет достигнуто?
Вам нужно использовать такую команду, чтобы «напечатать» именно то, что находится в буфере обмена.
^+v::SendRaw %clipboard%
^ + v означает ctrl + shift + v. Замените на желаемое сочетание клавиш. Посмотрите на этой странице, какие символы соответствуют каким клавишам-модификаторам.
Если вы отпустите клавиши CTRL и SHIFT, когда AHK все еще отправляет ключи, событие может не сработать, и вы застреваете с нажатыми клавишами SHIFT и CTRL, пока не нажмете их снова. Какой самый элегантный способ предотвратить это?
Ben Philipp 6 лет назад
0
1
John T
Чтобы отобразить Ctrl+ Kдля отправки данных буфера обмена, например:
^k::Send %clipboard%
Он говорит, что это не разрешено в качестве выходной переменной ...
RCIX 15 лет назад
0
что говорит сценарий? Сценарий у меня работает, я его скомпилировал и протестировал перед публикацией. Он должен отправлять ключи так же, как если бы это был ввод с клавиатуры.
John T 15 лет назад
0
Моя ошибка, я не обращаю достаточно внимания на то, в какой строке была ошибка ...
RCIX 15 лет назад
0
Это не будет включать в себя все. Команда Send пытается интерпретировать определенные символы, и они будут изменены или исключены из вывода (пример: + и!).
Ross 11 лет назад
0
Связанный вопрос был удален, что делает этот ответ бесполезным. Пожалуйста, не просто ссылка на другой ресурс в качестве ответа.
Ross 11 лет назад
0
http://wayback.archive.org/web/20130701085906/http://superuser.com/questions/7271/most-useful-autohotkey-scripts/31282#31282
Matthew Lock 11 лет назад
0
0
David Ljung Madison
Отправка ctrl-v может сработать, если предположить, что ваше приложение действительно использует это для вставки, но многие этого не делают.
Другой вариант, похожий на параметры отправки выше, но без медлительности SendRaw и без интерпретации Send (и с некоторым улучшением по сравнению с проблемой застрявших клавиш-модификаторов):
;; Alt-Control v SendInput,%Clipboard% SendInput, ;; Try to release modifier keys return
Хотя иногда клавиши-модификаторы все еще застряли ...