2011-10-05 44 views
2

alt-tabキーボードフックを開発するためのサンプルコードを見てきましたが、全体を理解できていないようです。私は.dllが書かれていて、何とかすべてのプロセスに注入されることを理解しています。C++ Alt-Tabフック

これを実行する方法については、dllに読み込みをロードする方法については、上から下のガイドがありますか?

+0

キーボードのフックが正しい答えかどうかはわかりません。オリジナルのAlt + Tabホットキーを登録したプロセスでメッセージフックを使用する傾向があります。 – CodesInChaos

+0

@CodeInChaos: 'Alt + Tab'は開いているウィンドウを切り替えるためのシステム定義のホットキーです。アプリケーション定義のホットキーではありません。 –

+0

@SirRoot:あなたはそれについて何を正確に理解していませんか?それはかなり簡単です。 DLLはキーボードイベントを処理するためにコールバック関数を実装し、DLLまたはEXEがそのコールバックをOSに登録するために 'SetWindowsHookEx()'を呼び出します。フックはチェーンされているので、コールバックが呼び出されると、チェーンの次のフックにデータを渡すために 'CallNextHookEx()'を呼び出す必要があります。キーボードのフックを終了したら、 'UnhookWindowsHookEx()'を呼び出してフックを解除します。それについて何が混乱していますか? –

答えて

1

キーボードフックは本当に共有されたリソースです。つまり、お互いを踏んでいないプログラムに依存します。チェーンに挿入するのはちょっと危険です。フックが何を求めているのですか?フックで最終的に達成しようとしているのは何ですか?

+0

私はWindows XPが組み込まれた実験をしているので、ソフトウェアの終了を無効にしたい。私は、alt-tab、control-alt-del、または何かを使って、システムの主な使い方を追い払い、OSの周りを釣ることを望んでいません。別の方法がない限り、キーボード・フィルターまたはフックがalt-tabを防ぐ唯一の方法であると読んでいますか? – SirRoot