AutoHotkey Beginner Tutorial包含以下sample script来演示热键。
sync.Map
代码评论表明^b::
send, {ctrl down}c{ctrl up} ; Copies the selected text. ^c could be used as well, but this method is more secure.
SendInput, [b]{ctrl down}v{ctrl up}[/b]
Return
是一种比{ctrl down}c{ctrl up}
更安全的文本复制方式。但是,本教程从未详细说明为什么后一种方法不太安全。
为什么使用^c
复制文字比使用{ctrl down}c{ctrl up}
更安全?
答案 0 :(得分:4)
首先,检查发送类型(SendInput,SendDirect,SendPlay等)及其各种怪癖。
当您使用任何类型的Send方法时,它实际上并没有按下您的键盘键 - 它正在向活动窗口发送控制消息(因此有时需要不同的发送方法)。
接下来,假设消息正在通过,那真正关乎时间安排。
如果您使用{ctrl down}your-stuff{ctrl up}
,您可以单独控制每个的时间,例如:
Send {ctrl down}
Sleep 200
Send c
Sleep 200
Send {ctrl up}
如果系统不接受您的^c
- 类型命令,这有时会变得必要 - 而且几乎总是由于发送消息的计时或缓冲问题。在窗口应用程序中工作时,我大多数情况下都会使用^c
- 消息。但是,如果您使用的是DirectX应用程序(如游戏),那么关键时刻和关键事件的明确时机至关重要。