2017-07-07 1 views
1

Die AutoHotkey Beginner Tutorial enthält die folgenden sample script, um Hotkeys zu demonstrieren.Warum ist das Kopieren mit {ctrl down} c {ctrl up} sicherer als^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 

Die Code-Kommentare deuten darauf hin, dass {ctrl down}c{ctrl up} ist ein sicherer Weg, um Text als ^c zu kopieren. Das Tutorial erklärt jedoch nie warum die letztere Methode weniger sicher ist.

Warum wird das Kopieren von Text mit {ctrl down}c{ctrl up} als sicherer angesehen als die Verwendung von ^c?

Antwort

4

"Sicher" in dem Sinne, dass sie bedeuten, dass der Befehl in den meisten Anwendungen, zu denen der Befehl gesendet wird, eher erfolgreich ist.

Zuerst untersuchen Sie den Send-Typ (SendInput, SendDirect, SendPlay, etc) und ihre verschiedenen Macken.

Wenn Sie eine Send-Methode eines beliebigen Typs verwenden, werden die Tasten der Tastatur nicht wirklich gedrückt - es wird eine Steuerungsnachricht an das aktive Fenster gesendet (daher müssen manchmal verschiedene Sendearten verwendet werden).

Als nächstes geht es wirklich um Timing, vorausgesetzt, die Nachrichten kommen durch.

Wenn Sie sind {ctrl down}your-stuff{ctrl up} verwenden Sie das Timing jeden einzeln steuern können, wie zum Beispiel:

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

Dies wird manchmal notwendig, wenn das System nicht Ihren ^c Typen Befehl zu akzeptieren - und es ist fast immer durch Timing oder Pufferung von Problemen mit der gesendeten Nachricht. Ich komme mit ^c-Typ Nachrichten die meiste Zeit, wenn in Fensteranwendungen arbeiten. Wenn Sie jedoch in einer DirectX-Anwendung (z. B. einem Spiel) arbeiten, ist das explizite Timing für Key-Down- und Key-Up-Ereignisse entscheidend.

+1

Wäre eine genauere Beschreibung "zuverlässiger" statt "sicherer"? –