希望用全局HOOK变为指定窗口HOOK

2971 人浏览 | 时间: 2016-08-16 19:56:46 | 作者: codexia

C++技术网解答:

    你的拦截程序,拦截本身是可以工作的。只是不能拦截指定的窗口。所以问题的关键就在于识别消息的窗口句柄和你目标窗口的句柄。在回调函数的参数lPARAM中存储了msg的结构体指针,结构体中含有消息的所有信息。其中包含了窗口句柄。所以,在消息过滤上,你已经得到了窗口句柄,也就可以过滤出你需要的窗口。现在的问题就是你要确定你目标窗口的句柄。

    如果你知道窗口的标题,就可以使用FindWindow函数来查找窗口。如果你不知道窗口的标题,你测试时,可以用SPY++去找到目标窗口的句柄,然后放到程序直接比对过滤。这就是你现在指定窗口需要的过滤处理。

    你写的代码中的,这是拦截QQ主窗口的消息。用SPY++拦截QQ主窗口的效果如下:

    图中可以看到:标题为QQ,窗口类为TXGuiFoundation。但是聊天窗口就不是这样的哦。下面看图:

请微信扫码阅读
为防止恶意爬虫,
已开启反爬机制

相关阅读