为什么使用{ctrl down} c {ctrl up}进行复制比^ c更安全?

时间:2017-07-07 20:49:50

标签: security autohotkey

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}更安全?

1 个答案:

答案 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应用程序(如游戏),那么关键时刻和关键事件的明确时机至关重要。