怎么从线程中创建对话框中获得主线程的窗口句柄

我是用的键盘钩子注入dll,dll中有一个对话框资源,是在dll注入成功后在一个新线程中创建的一个非模态对话框.那么怎么在这个非模态对话框中获得其父窗口的HAND;举个例... 我是用的键盘钩子注入dll,dll中有一个对话框资源,是在dll注入成功后在一个新线程中创建的一个非模态对话框.
那么怎么在这个非模态对话框中获得其父窗口的HAND;
举个例子:
我把dll注入到NotePad.exe(记事本)中,然后在再按F10,在键盘过程中就会创建一个线程,在这个线程中创建一个非模态对话框.我就想在这个对话框中获得记事本的窗口句柄HWND.
用FindWindow,和EnumWindow不是我的初衷.
有没有其它方法.
展开
 我来答
何处淬吴钩
2009-11-18 · TA获得超过5045个赞
知道大有可为答主
回答量:2947
采纳率:50%
帮助的人:2421万
展开全部
貌似没有直接的办法。
你的问题也有点前后矛盾。
窗口句柄、进程句柄、主线程句柄是不同出概念。

但这些都可以通过枚举获得。如果是主线程句柄,你可以枚举系统中的进程,找到你所需要的进程句柄,然后通过进程句柄获得主线程句柄。
如果是窗口,可以通过枚举系统中所有的窗口,逐个比较,得到你所需要的窗口句柄。当然如果窗口特征很明显,还可以用FindWindow省去逐个枚举的麻烦。
同比的海角
2015-09-02 · TA获得超过1235个赞
知道小有建树答主
回答量:363
采纳率:0%
帮助的人:147万
展开全部
窗口句柄、进程句柄、主线程句柄是不同出概念。
但这些都可以通过枚举获得。如果是主线程句柄,你可以枚举系统中的进程,找到你所需要的进程句柄,然后通过进程句柄获得主线程句柄。
如果是窗口,可以通过枚举系统中所有的窗口,逐个比较,得到你所需要的窗口句柄。当然如果窗口特征很明显,还可以用FindWindow省去逐个枚举的麻烦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
北风微风
2009-11-18 · TA获得超过1094个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:0
展开全部
在DllMain里可以记录进程或者线程的ID(GetCurrentProcessID),然后再枚举窗口(EnumWindows),找到相应的窗口。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式