
我寫了一個腳本:
^!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
也被註解掉了。