您的位置:程序门 -> vc/mfc -> 进程/线程/dll



查找不同进程中的窗口


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


查找不同进程中的窗口[已结贴,结贴人:jackfun]
发表于:2007-03-14 01:20:46 楼主
把一个hook   dll   注入到两个目标进程,   该dll的call   back函数响应windows消息后,

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

问题来了:

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

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

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

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

发表于:2007-03-14 13:40:131楼 得分:40
找到父窗口后,用enumchildwindows()找子窗口
发表于:2007-03-15 01:02:012楼 得分:0
问题已经解决了,居然是一个句柄的变量在赋值的时候发生异常,   郁闷呀.   让我忙乎了一整天.

不过这异常到底是怎么一回事,我到现在还不明白.   算了,以后再调试了.

谢谢楼上的,   接分.


快速检索

最新资讯
热门点击