2012-05-10 8 views
5

Windowsのインストールで問題をデバッグしようとしています。詳細は特に問題はありませんが、私は次の質問に対する答えを探しています:誰がSendMessageを呼び出したのかを知るにはどうすればいいですか?

explorer.exeはWM_SETTINGCHANGEメッセージを受け取ります。 WinDbgでは、私は適切なWndProcを壊すことができます。誰がメッセージを送信したのかを知るにはどうすればいいですか?つまり、SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, ...)と呼ばれるプロセスにこれをトレースする方法はありますか?

答えて

1

Windowsのメッセージは匿名です。メッセージは、(簡単に偽造されるであろう)送信者を識別するためのいくつかの方法を定義しない限り、あなたの呼び出し元のアプリは、彼らがどこから来たかを決定する方法がありません

+0

メッセージが配信されるまで、呼び出しプロセスはブロックされます。したがって、RPCメカニズムが有効でなければなりません。私は、プロセス間のCOM呼び出しで呼び出し元を見つける方法があることを知っています。私はWindowsのメッセージのために同じことをする方法があるかどうか疑問に思っています。 –

+1

...私のアプリがそれを理解できるかどうかについては尋ねていません。私はWinDbgがそれを理解できるかどうか尋ねています。 –

関連する問題