为什么这个 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也被注释掉了。

相关内容