.NET UIAutomation 또는 White 프레임 워크를 사용하여 모든 데스크톱 창을 찾으려고합니다. 내가 시도 :UIAutomation .NET을 사용하여 데스크톱에서 모든 창 찾기
1)
AutomationElement rootElement = AutomationElement.RootElement;
var winCollection = rootElement.FindAll(TreeScope.Subtree, Condition.TrueCondition);
2)
Desktop.Instance.Windows();
던져 ArgumentException이 모두를. 다른 방법이 있다면 알려주십시오.
업데이트/답변 : Desktop.Instance.Windows(); VS2010을 사용하여 코드를 디버깅하는 동안 예외를 throw한다는 점을 제외하고는 정상적으로 작동합니다. 당신이 findall은 전화를 이용하여 바탕 화면의 바로 하위 요소 :
AutomationElement rootElement = AutomationElement.RootElement;
var winCollection = rootElement.FindAll(TreeScope.Children, Condition.TrueCondition);
foreach (AutomationElement element in winCollection)
Console.WriteLine(element.Current.Name);