读取具有多个同名类的子控件?
我目前正在尝试获取控件的文本,当从顶部窗口向下到我需要的控件时,我陷入了这个控件中,该控件有多个子字段,其中两个控件具有相同的类名。
调试示例代码如图所示:
IntPtr window = FindWindow("MainControl", "WindowTitle");
iData.Text += window.ToString("X") + Environment.NewLine;
IntPtr control = FindWindowEx(window, IntPtr.Zero, "CMainWindow", null);
iData.Text += control.ToString("X") + Environment.NewLine;
IntPtr control2 = FindWindowEx(control, IntPtr.Zero, "My_SplitterWindow", null);
iData.Text += control2.ToString("X") + Environment.NewLine;
IntPtr control3 = FindWindowEx(control2, IntPtr.Zero, "ATL:0061FA08", null);
iData.Text += control3.ToString("X") + Environment.NewLine;
IntPtr control4 = FindWindowEx(control3, IntPtr.Zero, "ATL:0061E168", null);
iData.Text += control4.ToString("X") + Environment.NewLine;
IntPtr control5 = FindWindowEx(control4, IntPtr.Zero, "ATL:00620118", null);
iData.Text += control5.ToString("X") + Environment.NewLine;
IntPtr control6 = FindWindowEx(control5, IntPtr.Zero, "ATL:00622208", null);
iData.Text += control6.ToString("X") + Environment.NewLine;
// stucked here... :/
这是我现在所在的子控件的图像:
我需要来自 ATL:00622208
的第二个控件< code>#32770 (Dialog) 但是如何使用 FindWindowEx 只读取第二个控件以移动到下一个控件?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一旦你有了窗口句柄“IntPtr”,你就可以得到子窗口的列表,如下所示...
你可以从 此处。
Once you have the window handle 'IntPtr' you can get the list of child windows like this...
You can find the pinvoke needed for the Win32 GetWindow from here.