WINAPI:查看来自其他进程的消息

Fre*_*rik 4 c++ winapi messages

我对Windows API很陌生,想知道如何查看其他进程收到的消息.作为一个例子,我想得到记事本的HWND,并查看发送到该窗口的所有消息.我用C/C++编写代码.

谢谢

Dmi*_*try 7

你可以使用SetWindowsHookEx函数,WH_CALLWNDPROC或其他类型的钩子,是一个例子.

WH_CBT可以给你很好的机会,因为你可以HCBT_CREATEWND从它获得一个代码并创建一个窗口之前发送给你,这样你就可以提供自己的窗口proc而不是真实的窗口,然后能够获得所有的消息有可能.

但请记住,更大的可能性也意味着更大的责任 假设您"子类化"某个窗口,提供您的窗口proc,如果您的应用程序设置了一个钩子退出,接下来您将看到的是应用程序,您正在查看的消息,如果您没有放置地址,则会崩溃原始窗口会回到它所属的位置.这种钩子的好处是能够等待某个窗口(比如某个窗口类或名称)被创建,并您感兴趣的任何窗口被创建之前进入该过程.