读书人

查找不同进程中的窗口解决方法

发布时间: 2012-01-12 22:11:58 作者: rapoo

查找不同进程中的窗口
把一个hook dll 注入到两个目标进程, 该dll的call back函数响应windows消息后,

会创建并显示一个无模式对话框. 我想得到这两个对话框的主窗口及子窗口句柄.

问题来了:

利用windows hook 我再向目标线程注入一个dll, 在这个新的dll中使用::FindWindow(...)来查找对话框主窗口句柄时, 它总是找到另一个进程的,这并不是我想要的,此时我想要的是当前进程的对话框句柄.

然后,我使用GetWindowThreadProcessId(..)定位, 再用FindWindowEx(...)找到了主窗口句柄.但再接着查找其子窗口句柄时, FindWindowEx(..)总是返回NULL. 而我使用spy++却可以找到子窗口. 真是头痛呀.

如果只有一个目标进程的话, FindWindow(..)就成功找到主窗口句柄,再用FindWindowEx(..)查找到其子窗口.

为什么有两个进程时,就会有这情况呢? 问题出在哪了? 求大哥们赐请!!!



[解决办法]
找到父窗口后,用EnumChildWindows()找子窗口

读书人网 >VC/MFC

热点推荐