AutoHotkey: como enviar o conteúdo da área de transferência ao pressionar as teclas?

AutoHotkey: como enviar o conteúdo da área de transferência ao pressionar as teclas?

Estou criando um script autohotkey para executar texto destacado por meio de uma calculadora e preciso enviar o conteúdo da área de transferência como uma sequência de pressionamentos de tecla, pois a calculadora realmente não suporta a colagem de uma operação matemática. Como isso seria realizado?

Responder1

Corrigi o script original que você escreveu aqui:https://superuser.com/questions/7271/most-useful-autohotkey-scripts/31282#31282Funciona bem no meu sistema Vista agora.

O trecho de código em questão, extraído das profundezas da 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

Responder2

Você precisa usar um comando como este para “digitar” exatamente o que está na área de transferência.

^+v::SendRaw %clipboard%

^+v significa ctrl+shift+v. Substitua pelo atalho de teclado desejado. Veresta páginapara quais caracteres são mapeados para quais teclas modificadoras.

Responder3

Para mapear Ctrl+ Kpara enviar dados da área de transferência, por exemplo:

^k::Send %clipboard%

Responder4

Para mim, todas as outras respostas aqui não funcionaram ao tentar colar no Visual Studio (ele injetou um traço após colar). Só isso funcionou:

SendInput, ^v

informação relacionada