В моей форме есть элемент управления TreeView, и я рекурсивно просматриваю элементы другого окна, начиная с самого окна.Я использую это, чтобы найти элементы:
getRecursiveElements(AutomationElement parent)
{
children = parent.FindAll(TreeScope.Children, Condition.TrueCondition);
foreach (AutomationElement child in children)
{
addToTreeView(child);
getRecursiveElements(child);
}
}
Вообще говоря, код работает довольно хорошо в большинстве случаев.Дерево заполнено, и у меня есть немного другого кода поддержки, позволяющего мне дважды щелкнуть, например, элемент в древовидном представлении, и он выделит этот элемент в целевой форме.
Проблема Iу меня есть то, что, хотя оно генерирует удивительное дерево, для некоторых целевых программ все еще отсутствуют некоторые элементы.
Какая возможная причина может быть для этого, и есть ли способ обойти это?Если я позвоню EnumChildWindows()
из user32.dll, будет ли та же проблема?