Здравствуйте, Matveyka, Вы писали:
M>Задача: надо перебрать все окна всех процессов, запущенных в системе и получить доступ к их заголовкам. Как это сделать?
Например, так:
var children = AutomationElement.RootElement.FindAll(TreeScope.Children,
new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Window));
foreach (var item in children.Cast<AutomationElement>())
{
var process = item.GetCurrentPropertyValue(AutomationElement.ProcessIdProperty);
var name = item.GetCurrentPropertyValue(AutomationElement.NameProperty);
Console.WriteLine("{0}: {1}", process, name);
}
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.