Por que esse script AutoHotkey não funciona?

Por que esse script AutoHotkey não funciona?

Eu escrevi um script:

^!c::
ClipSave := ClipboardAll
Send ^x
Run calc.exe
WinWaitActive Calculator
Send %clipboard%
Send Enter
Sleep 100
Send ^c
;WinClose
Send ^v
Clipboard := ClipSave

deveria calcular automaticamente o texto destacado, mas continua fazendo cálculos estranhos. Por exemplo, '2+3' sai como algo como "reciproc(ln(tan(cube(2))))". O que estou perdendo?

Responder1

O AutoHotkey vê os símbolos matemáticos e os transforma em teclas do AutoHotkey. Por exemplo: + torna-se Shift. Portanto, a calculadora pega 2 + 3 e o interpreta como o número 2 e Shift + 3.

Não se esqueça Returnda parte inferior dos scripts também. Isso também pode estar desencadeando lixo extra.

Eu adicionei alguns Sleepstambém, ele estava se adiantando mesmo com ClipWait.

Aqui está o roteiro.

+^c::
ClipSaved := ClipboardAll
SendInput ^x
Run calc.exe
WinWaitActive Calculator
clipboard = %clipboard%
SendInput {Raw}%clipboard%
SendInput {Enter}
Sleep 100
SendInput ^c
Sleep 100
ClipWait, 2
WinClose
SendInput %clipboard%
Clipboard := ClipSaved
Return

Responder2

Para enviar a Enterchave, você deve colocá-la entre colchetes para especificar que é uma chave.

Exemplo:

Send {Enter}

Sua chamada para WinClosetambém está comentada por algum motivo.

informação relacionada