Por que este script AutoHotkey não funciona?

1

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

é necessário calcular automaticamente o texto realçado, mas ele continua fazendo cálculos estranhos. Por exemplo, '2 + 3' sai como algo como "reciproc (ln (tan (cubo (2))))"). Wat estou faltando?

    
por RCIX 29.08.2009 / 07:16

2 respostas

2

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

Não esqueça Return na parte inferior dos scripts também. Isso pode estar provocando o lixo extra também.

Também adicionei alguns Sleeps , e estava se adiantando mesmo com ClipWait .

Aqui está o script.

+^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
    
por 06.07.2010 / 23:14
1

Para enviar a chave Enter , você deverá colocá-la entre chaves para especificar que é uma chave.

Exemplo:

Send {Enter}

Sua chamada para WinClose também é comentada por algum motivo.

    
por 29.08.2009 / 07:20

Tags