优化自动热键代码/发送键盘代码

Optimize autohotkey code / send keyboard code

AutoHotkey 的功能给我留下了深刻的印象。我该如何优化该代码?我需要知道什么?

SetTitleMatchMode RegEx ;

::/act1::
Send {LControl down}
Send {LShift down}
Send {m}
Send {LControl up}
Send {LShift up}
Send {Left 3}
Send {LShift down}
Send {Home}
Send {LShift up}
Send {LControl down}
Send {c}
Send {LControl up}
WinActivate WidnowA
Send {LControl down}
Send {Home}
Send {LControl up}
Send {Down 1}
Send {Right 12}
Send {LControl down}+{v}
Send {LControl up}
Send {,}
Send {Space}
Send {LControl down}
Send {s}
Send {LControl up}
CoordMode, Mouse, Screen
x := 150
y := 1420
Click %x% %Y%
Send {Right 3}
return

我认为不需要描述这些部分,但是..我可以用另一种(最简单的)方式来写吗?

谢谢

我看不出这里有很大的优化空间,因为没有太多重复。如果您使用了相同系列的击键,则可以使用功能减少重复。但是,您在 "WinActivate WidnowA"

处似乎有错字

一项可能的改进是将 "Send" 的用法更改为“SendInput”,即 "generally faster and more reliable"。

除了 David 发现的可能打字错误外,您还可以将大量发送命令压缩到一行中。此外,它是否需要左控制和移位,还是两者都可以?我写在下面没有指定。

SetTitleMatchMode , RegEx
CoordMode, Mouse, Screen
::/act1::
Send , ^+m{left 3}+{home}^c
WinActivate , WindowA
Send , ^{home}{down}{right 12}^v{,}{space}^s
Click , 150 , 1420
Send , {right 3}
Return

就以更简单的方式编写它而言,它有助于了解您要完成的任务。通过直接操纵控件而不是发送击键,您尝试做的事情可能会更可靠地完成。