我如何找出谁叫SendMessage?

时间:2012-05-10 12:46:26

标签: debugging winapi windbg

我正在尝试使用Windows安装调试问题。细节并不特别重要,但我正在寻找以下问题的答案:

  

explorer.exe收到WM_SETTINGCHANGE消息。在WinDbg中,我可以打破适当的WndProc。如何找出谁发送了邮件?那就是:有没有办法将其追溯到调用SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, ...)的过程?

2 个答案:

答案 0 :(得分:1)

Windows消息是匿名的。您的通话应用无法确定它们的来源,除非该消息定义了识别发件人的某种方式(这很容易被伪造)

答案 1 :(得分:0)

此博客文章可以帮助您执行RPC调试:http://kobyk.wordpress.com/2008/06/07/remote-procedure-call-debugging/

您需要启用RPC状态收集:http://msdn.microsoft.com/en-us/library/ff542974.aspx