如何找到父母非托管win32应用程序的子项
题
基本上我正在寻找一个在C#中调用的win32方法,将焦点设置为非托管应用程序的子代。
但首先我需要找到子控件的句柄,这就是问题所在。任何有用的win32函数都可以解决这个问题吗?
解决方案
有一个库支持枚举和搜索窗口句柄,可在 http://mwinapi.sourceforge中找到。净/
这样你每次都不必重新发明轮子;)
从
开始SystemWindow.AllToplevelWindows
然后深入挖掘(查看类名,进程名称,标题,对话框ID等)。
其他提示
使用 FindWindowEx 查找您的窗口句柄正在寻找。完成此操作后,使用 EnumChildWindows 找到你需要的正确孩子。我快速编写样本涉及的代码太多,但网上有足够的帮助。
来自Pinvoke.net: http://www.pinvoke.net/的Default.aspx / USER32 / EnumChildWindows.html
您是否尝试过使用FindWindowEx?
不隶属于 StackOverflow