Осваиваю UI Automation, но поскольку программирую на C++, то перевожу на него примеры с С#, и столкнулась со следующей проблемой:
Поиск компонента по свойству ControlType, написанный на С#, например такой:
AutomationElement ButtonRun = MForm.FindFirst(TreeScope.Children,
new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Button));
работает.
А на С++ не хочет — ничего не возвращает:
AutomationElement ^ ButtonRun = MForm->FindFirst(TreeScope::Children,
gcnew PropertyCondition(AutomationElement::ControlTypeProperty, ControlType::Button));
При этом, например, поиск по свойству Name:
AutomationElement ^ RunButton =MForm->FindFirst(TreeScope::Children,
gcnew PropertyCondition(AutomationElement::NameProperty, "Run"));
на С++ работает, но к сожалению не у всех компонентов есть это свойство.
Подскажите, пожалуйста, с чем может быть связано такое поведение метода? И как его можно обойти на С++?