1 つまたは複数の外部プロセスに dll を挿入する必要があります。そこから、keybord イベントも傍受したいと考えています。そのため、WH_KEYBOARD で SetWindowsHookEx を使用すると、1 つのステップで両方を実現する簡単な方法のように見えます。
いくつかの選択されたプロセスにのみ関心がある場合、グローバルフックをインストールしたくありませんが、Windows フックはグローバルまたはスレッドのみのようです。
私の質問は、プロセス全体のフックを適切に設定する方法です。
1つの方法は、アプリケーションからターゲットプロセスのメインスレッドにフックを設定し、DLL_PROCESS_ATTACHで他のすべての実行中のスレッドに対してDLL_PROCESS_ATTACHで同じことを行うことです(さらに後で開始されたスレッドのDLL_THREAD_ATTACHで)。しかし、これは本当に良い方法ですか?さらに重要なことは、プロセス全体のフックをセットアップする簡単な方法はありませんか? 私のアイデアはかなり面倒で醜いように見えますが、これを行うことに関する情報はどこにも見つかりませんでした。