2017-07-07 158 views
1

AutoHotkey Beginner Tutorial包括以下sample script來演示熱鍵。爲什麼複製{ctrl down} c {ctrl up}比^ c更安全?

^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}是複製文本比​​的一個更安全的方式。然而,該教程從未詳細說明爲什麼後一種方法不太安全。

爲什麼複製文本{ctrl down}c{ctrl up}被認爲比使用​​更安全?

回答

4

從他們的意思上來說,「安全」是指命令在發送命令的大多數應用程序中更有可能成功。

首先,檢查發送類型(SendInput,SendDirect,SendPlay等)及其各種怪癖。

當您使用任何類型的發送方法時,它實際上並不是按下鍵盤按鍵 - 它正在向活動窗口發送控制消息(因此有時需要不同的發送方法)。

接下來,假設消息正在通過,它實際上都是關於時間安排。

如果你使用{ctrl down}your-stuff{ctrl up}您可以單獨控制每個時機,如:

Send {ctrl down} 
Sleep 200 
Send c 
Sleep 200 
Send {ctrl up} 

這如果系統不接受您的​​型命令有時變得必要 - 它幾乎總是由於定時或緩存與發送的消息有關的問題。在窗口化應用程序中工作時,大部分時間我都會使用​​類型的消息。但是,如果您正在使用DirectX應用程序(比如遊戲),那麼對鍵盤按鍵和按鍵事件進行明確的時間安排至關重要。

+1

更準確的描述是「更可靠」而不是「更安全」嗎? –