Debugging 我如何找到谁打电话给SendMessage?

Debugging 我如何找到谁打电话给SendMessage?,debugging,winapi,windbg,Debugging,Winapi,Windbg,我正试图调试Windows安装中的一个问题。细节并不特别重要,但我正在寻找以下问题的答案: explorer.exe接收WM_SETTINGCHANGE消息。在WinDbg中,我可以在适当的WndProc中断。我怎样才能知道是谁发的信息?也就是说:是否有任何方法可以追溯到调用SendMessage(HWND\u广播,WM\u设置更改,…)的过程 Windows消息是匿名的。您的呼叫应用程序无法确定它们来自何处,除非消息定义了某种识别发件人的方法(这很容易伪造)此博客文章可以帮助您执行RPC调试:

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

explorer.exe接收WM_SETTINGCHANGE消息。在WinDbg中,我可以在适当的WndProc中断。我怎样才能知道是谁发的信息?也就是说:是否有任何方法可以追溯到调用
SendMessage(HWND\u广播,WM\u设置更改,…)
的过程


Windows消息是匿名的。您的呼叫应用程序无法确定它们来自何处,除非消息定义了某种识别发件人的方法(这很容易伪造)

此博客文章可以帮助您执行RPC调试:


您需要启用RPC状态收集:

调用进程将阻塞,直到消息被传递。因此,必须有一个RPC机制在起作用。我知道有一种方法可以在跨进程COM调用中找到调用方。我想知道是否有一种方法可以对Windows消息进行同样的处理……我不是在问我的应用程序是否能够解决这个问题。我在问WinDbg是否能找到答案。