我正在尝试使用.NET UIAutomation或White框架查找所有桌面窗口。
我试过了 :
1.)
AutomationElement rootElement = AutomationElement.RootElement;
var winCollection = rootElement.FindAll(TreeScope.Subtree, Condition.TrueCondition);
2.)
Desktop.Instance.Windows();
两者都抛出ArgumentException。
请让我知道是否还有其他方法可以执行此操作...
更新/应答:Desktop.Instance.Windows();除在使用VS2010调试代码时会引发异常外,其他方法均能正常工作。
最佳答案
如果要访问桌面的直接子元素,则可以使用TreeScope.Children
::
AutomationElement rootElement = AutomationElement.RootElement;
var winCollection = rootElement.FindAll(TreeScope.Children, Condition.TrueCondition);
foreach (AutomationElement element in winCollection)
Console.WriteLine(element.Current.Name);
关于white-framework - 使用UIAutomation .NET在桌面上查找所有窗口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10191265/