Я пытаюсь получить текст / метки из элементов управления приложения с помощью автоматизации на C #.
Пока я могу получить дерево приложения AutomationElement (например, Блокнот) с помощью этой функции:
private void WalkControlElements(AutomationElement rootElement, TreeNode treeNode)
{
AutomationElement elementNode = TreeWalker.ContentViewWalker.GetFirstChild(rootElement);;
while (elementNode != null)
{
TreeNode childTreeNode = treeNode.Nodes.Add(elementNode.Current.ControlType.LocalizedControlType);
// here I want to get text from 'elementNode'
WalkControlElements(elementNode, childTreeNode);
elementNode = TreeWalker.ControlViewWalker.GetNextSibling(elementNode);
}
}
Я пытался следовать этой статье http://msdn.microsoft.com/en-us/library/ms788751%28v=vs.110%29.aspx, но он может получать только текстовые атрибуты, такие как имя шрифта, его вес и т. д.
Может ли кто-нибудь указать мне правильную процедуру получения текста элемента с помощью автоматизации?