Здравствуйте, TK, Вы писали:
TK>Например, так:
TK>TK>var children = AutomationElement.RootElement.FindAll(TreeScope.Children,
TK> new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Window));
TK>foreach (var item in children.Cast<AutomationElement>())
TK>{
TK> var process = item.GetCurrentPropertyValue(AutomationElement.ProcessIdProperty);
TK> var name = item.GetCurrentPropertyValue(AutomationElement.NameProperty);
TK> Console.WriteLine("{0}: {1}", process, name);
TK>}
TK>
Отлично! Большое спасибо. Только Ваш метод все-таки перебирает только главные окна процессов. Поэтому для моей задачи пришлось организовать рекурсию. А в целом все чисто и красиво