1

Я написал сценарий:

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

он должен автоматически рассчитывать выделенный текст, но он продолжает делать странные вычисления. Например, «2+3» выглядит как что-то вроде «recroc (ln (tan (cube (2))))». Ват, я скучаю?

2 ответа2

2

AutoHotkey видит математические символы и превращает их в нажатия клавиш AutoHotkey. Например: + становится Shift. Таким образом, калькулятор берет 2 + 3 и интерпретирует его как число 2 и Shift + 3.

Не забывайте Return внизу скриптов тоже. Это может также вызвать дополнительный мусор.

Я также добавил несколько Sleeps , они опережали себя даже с ClipWait .

Вот сценарий.

+^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
1

Чтобы отправить ключ Enter, вы хотите , чтобы заключить в скобки , чтобы указать , что это ключ.

Пример:

Send {Enter}

Ваш звонок в WinClose также почему-то закомментирован.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .