1

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

但首先我需要找到问题所在的子控件的句柄。任何有用的win32函数来解决这个问题?

4

3 回答 3

2

使用FindWindowEx查找您要查找的窗口句柄。一旦你有了那个句柄,使用EnumChildWindows来找到你需要的正确的孩子。涉及的代码太多,无法快速编写示例,但网络上有足够的帮助。

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

于 2009-06-19T20:34:32.767 回答
1

您是否尝试过使用 FindWindowEx?

于 2009-06-19T20:07:08.377 回答
1

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

只是这样您就不必每次都重新发明轮子;)

从...开始

SystemWindow.AllToplevelWindows

然后就往下挖(查看类名、进程名、标题、对话框 ID 等等)。

于 2009-06-19T20:28:16.040 回答