获取一个窗口句柄的所有控制句柄
本文关键字:控制 句柄 窗口句柄 一个 获取 | 更新日期: 2023-09-27 18:15:32
我试着用UI-Automation工作一点,此刻我试图得到一个进程的所有句柄,但我有一个问题,以获得所有子控件句柄。有人知道如何获得这些手柄来获得矩形控件吗?
您可以使用FindAll
方法根据某些条件查找相对于给定元素的所有元素。然后你可以从这些元素中获取属性。
var notepad = System.Diagnostics.Process.GetProcessesByName("notepad").FirstOrDefault();
if (notepad != null)
{
var root = AutomationElement.FromHandle(notepad.MainWindowHandle);
var elements = root.FindAll(TreeScope.Subtree, Condition.TrueCondition)
.Cast<AutomationElement>();
//example:
//elements.Select(x=>x.Current.Name)
//elements.Select(x => x.Current.ControlType);
//elements.Select(x => x.Current.NativeWindowHandle);
//elements.Select(x => x.Current.BoundingRectangle);
}