私は Windows API にまったく慣れていないので、別のプロセスが受信したメッセージを覗く方法を知りたいと思っています。例として、たとえばメモ帳の HWND を取得し、このウィンドウに送信されるすべてのメッセージを確認したいと考えています。C/C++ でコーディングしています。
ありがとうございました
SetWindowsHookEx
関数を使用しWH_CALLWNDPROC
たり、他のタイプのフックを使用したりできます。ここに例を示します。
そこからコードを取得でき、ウィンドウが作成される直前にコードが送信されるWH_CBT
ため、素晴らしい機会が得られます。したがって、実際のウィンドウ プロシージャではなく独自のウィンドウ プロシージャを提供して、すべてのメッセージを取得できる可能性があります。それと可能です。HCBT_CREATEWND
ただし、可能性が大きくなるということは、責任も大きくなることを意味します。いくつかのウィンドウを「サブクラス化」して、ウィンドウ proc を提供するとします。フックを設定したアプリケーションが終了すると、次に表示されるのは、覗いていたメッセージのアプリケーションが、アドレスを入力しないとクラッシュすることです。元のウィンドウ プロシージャが属する場所に戻ります。この種のフックの利点は、特定のウィンドウ (特定のウィンドウ クラスまたは名前など) が作成されるのを待機し、関心のあるウィンドウが作成される前にそのプロセスに入ることができることです。
SetWindowsHookExを調べたい
Windows フックを探しています。
http://msdn.microsoft.com/en-us/library/ms997537.aspx
CallWndProcフック プロシージャを使用して、ターゲット プロセスでSendMessageをトラップできます。