別のプロセスでウィンドウに送信されているメッセージを傍受します。これを行う最善の方法は何ですか? WH_GETMESSAGEフックを使用するとメッセージが表示されず、プロセス間でサブクラス化できるかどうかわかりません。どんな助けでも大歓迎です。ウィンドウに送信されるメッセージを傍受するにはどうすればよいですか?
答えて
メッセージを傍受したいウィンドウを所有するプロセスに独自のコードを挿入する必要があります。幸いなことに、SetWindowsHookEx()
はこれをかなり簡単にしますが、今のところインプロセスフックにしか使用していないのであれば、最初は少し問題があります。
私が被写体に2件の優れた記事を推薦することができます。
- ジョセフNewcomberのHooks and DLLs
- ロバートKüsterさんのThree Ways to Inject Your Code into Another Process
投稿されたメッセージではなく、投稿されたメッセージがWH_GETMESSAGE
の場合は表示されません。 WH_CALLWNDPROC
が必要です。プロセス間で作業している場合は、DLLにシステム全体のフックが必要です。あなたはSetWindowsHookExをどのように呼び出したかは言及していないので、グローバルではないためにフックが失敗したかどうか、またはあなたが探していたメッセージがのでした。
システム全体のフックで作業していない場合は、私のウェブサイトhereにシステム全体のフックの例があります。それはキーボードフックですが、原則は同じです。
ここで私が意図せずに話していると私を止めてください。あなたの質問はとても短く、私はあなたの専門知識レベルを推測できません。しかしフックをつまんで回るはいくつかの経験を意味します...
申し訳ありませんが、私は詳細を提供する必要があります。メッセージを読むためにWH_CALLWNDPROCを取得しましたが、どうすればそのメッセージをキューから削除できますか?私はいくつかのメッセージがターゲットウィンドウに届かないようにしたい。 –
その後、CallNextHookExにメッセージを渡さないでください。 –
CallNextHookExを呼び出すかどうかは関係ありません。メッセージは常にターゲットウィンドウに到達します。 :( –
- 1. スラックチャンネルにメッセージを送信するにはどうすればよいですか?
- 2. プロデューサがトピックに送信されたメッセージを受信できないようにするにはどうすればよいですか?
- 3. メッセージの送受信をサーバースレッドに移動するにはどうすればよいですか?
- 4. Linux上のUSBデバイスからのメッセージを傍受するにはどうすればよいですか?
- 5. Excel VBAのBot Telegramでメッセージを送受信するにはどうすればよいですか?
- 6. サンドボックス化されたiframeでメッセージを受信するにはどうすればよいですか?
- 7. fastcgiアプリにメッセージを送信/送信するにはどうすればよいですか?
- 8. Delphiでメッセージが送信された場所を確認するにはどうすればよいですか?
- 9. 受信メッセージの場所/受信メッセージを傍受する
- 10. メッセージの送受信にどのようにアプローチするか
- 11. Windowsプラットフォームで送受信されたバイト数を取得するにはどうすればよいですか?
- 12. gcmとopenfireの間でメッセージを送受信するにはどうすればいいですか?
- 13. あるウィンドウから別のウィンドウにデータを送信するにはどうすればいいですか?
- 14. シグナル受信時にgdbに外部通知を送信するにはどうすればよいですか?
- 15. Androidで複数の受信者にSMSを送信するにはどうすればよいですか?
- 16. どのようにMIDIメッセージを傍受できますか?
- 17. SignalRの発信者クライアントにメッセージを送信するにはどうすればよいですか?
- 18. myDialogからブロードキャスト(インテント)を送信してmyActivityで受信するにはどうすればよいですか?
- 19. Mailboxerに送信者と受信者のアバターを表示するにはどうすればよいですか?
- 20. メッセージを転送するようにユーザに促すボタンを含む電文にメッセージを送信するにはどうすればよいですか?
- 21. オブザーバ対象から送信されたメッセージに基づいてウィンドウを更新するにはどうすればよいですか?
- 22. マウスホイールのメッセージをあるウィンドウから別のウィンドウにリダイレクトするにはどうすればよいですか?
- 23. ウィンドウを傍受するウィンドウを傍受する
- 24. ejabberdでユーザーごとに送受信されるメッセージの合計を取得するにはどうすればよいですか?
- 25. Javaでcitrus httpの受信メッセージ本文にアクセスするにはどうすればよいですか?
- 26. Twilioで受信したすべてのメッセージを削除するにはどうすればよいですか?
- 27. NettyでLogRecordを受信するにはどうすればよいですか?
- 28. JSFからJavaのアプリケーションにメッセージを送信するにはどうすればよいですか?
- 29. JavascriptからJavaにメッセージを送信するにはどうすればよいですか?
- 30. 別のシステムからSameTimeユーザーにメッセージを送信するにはどうすればよいですか?
あなたはシステム全体のメッセージフックを設定する必要があります。 [こちらはチュートリアルです](http://www.codeguru.com/cpp/w-p/system/misc/article.php/c5685)。 –