이 AutoHotkey 스크립트가 작동하지 않는 이유는 무엇입니까?

이 AutoHotkey 스크립트가 작동하지 않는 이유는 무엇입니까?

나는 스크립트를 작성했습니다 :

^!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'은 "reciproc(ln(tan(cube(2))))"와 같은 형태로 나옵니다. 내가 뭘 놓치고 있는 걸까?

답변1

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

답변2

키 를 보내려면 Enter중괄호로 묶어서 키임을 지정해야 합니다.

예:

Send {Enter}

WinClose어떤 이유로든 귀하의 호출 도 주석 처리되었습니다.

관련 정보