如何找到父母非托管win32应用程序的子项

时间:2009-06-19 20:01:09

标签: c# .net winapi unmanaged

基本上我正在寻找一个在C#中调用的win32方法,将焦点设置为非托管应用程序的子代。

但首先我需要找到子控件的句柄,这就是问题所在。任何有用的win32函数都可以解决这个问题吗?

3 个答案:

答案 0 :(得分:2)

使用FindWindowEx查找您正在寻找的窗口句柄。掌握完成后,使用EnumChildWindows找到所需的正确孩子。我快速编写样本涉及的代码太多,但网上有足够的帮助。

来自Pinvoke.net:http://www.pinvoke.net/default.aspx/user32/EnumChildWindows.html

答案 1 :(得分:1)

您是否尝试过使用FindWindowEx?

答案 2 :(得分:1)

有一个支持枚举和搜索窗口句柄的库,可在http://mwinapi.sourceforge.net/

获取

这样你每次都不必重新发明轮子;)

开始
SystemWindow.AllToplevelWindows

然后深入挖掘(查看类名,进程名称,标题,对话框ID等)。