2017-07-07 5 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など)とそのさまざまな特徴を調べます。

いずれのタイプのSendメソッドを使用しても、実際にはキーボードのキーは押されていません。アクティブなウィンドウに制御メッセージを送信しています(異なる送信メソッドが必要な場合があります)。

次に、メッセージが通過していると仮定して、タイミングについてです。

次のような、あなたが個々のタイミングを制御することができ{ctrl down}your-stuff{ctrl up}使用した場合:時々

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

このシステムは、あなたの​​型のコマンドを受け付けていません場合は必要になる - それはほとんど常に原因です送信されたメッセージのタイミングやバッファリングの問題に対処します。ウィンドウアプリケーションではほとんどの場合、​​タイプのメッセージが出ます。ただし、DirectXアプリケーション(ゲームなど)で作業している場合は、キーダウンおよびキーアップイベントの明示的なタイミングが重要です。

+1

「より安全」ではなく、より正確な説明が「より信頼性の高い」ものになりますか? –

関連する問題