2つの動作の違いは何ですか?についてWH_KEYBOARD_LL
は、低レベルのキーボード入力イベントを監視するフックプロシージャをインストールすることを読みました。低レベルのキーボードイベントとはどういう意味ですか?
1 に答える
まあ、この用語に集中しすぎないでください。何も明確にしません。両者には大きな違いがあります。WH_KEYBOARD_LL は、コールバックを独自のプログラムに実装する必要があるフックをインストールします。また、Windows がキーボード メッセージを送信しようとしているときにいつでもコールバックできるように、メッセージ ループをポンピングする必要があります。これにより、非常に簡単に始めることができます。
WH_KEYBOARD の動作は大きく異なり、フックされたプロセスに安全に挿入できる DLL が必要です。プロセスに影響を与えずに DLL を挿入することは容易ではありません。特に 64 ビット オペレーティング システムでは。また、他のプロセスがキーストロークについて知る必要がある場合に必要になる可能性のあるプロセス間通信も処理しません。キーロガーのように。
WH_KEYBOARD の利点は、キーボードの状態にアクセスできることです。これは、Windows のプロセスごとのプロパティです。フックを使用して仮想キーを自分でキーを入力するように変換する場合、アクティブなキーボード レイアウトのような状態、および修飾キーとデッド キーの状態は非常に重要です。外部プロセスから ToUnicodeEx() を確実に呼び出すことはできません。
サンプルコードを実行せずに猫を振ることはできません.Googleはあなたにたくさん与えます. そのため、そのようなフックを以前に作成したことがない場合は、動作することがわかっているものを必ず使用してください。これにより、多くの悲しみを回避できます。