2011-12-30 1 views
0

Я пытаюсь автоматизировать взаимодействие пользовательского интерфейса для приложения C++ MFC. Я попытался найти идентификаторы автоматизации элементов, используя инструменты UISpy и UIAVerify. Я нахожусь на win2k3.UI Automation Verify v/s UISpy - Как они находят элементы пользовательского интерфейса

Существует элемент управления вкладкой, идентификатор автоматизации которого отображается для UISpy, но не для UIAVerify.

Проблема в том, что она не видна даже для кода C#, который я пишу, используя структуру проекта White или схему автоматизации ui для .net 3.0.

Я хочу получить доступ к этому управлению, как это делает UISpy. Есть ли способ узнать, как это делает UISpy?

Спасибо !!!

ответ

0

UISpy, вероятно, использует Microsoft UI Automation под обложками. Вы можете видеть, как это работает с this example*. Существуют всевозможные условия для AutomationElement, которые вы можете использовать для их поиска.

Я работал только с вкладками WPF, но обнаружил, что действительно очень сложно найти их с помощью идентификатора автоматизации. Вместо этого я использовал свойство AutomationName, с названием на вкладке в качестве значения. Не уверен, поддерживает ли White это, но я уверен, что вы можете получить оригинал AutomationElement и использовать его в соответствии с примером.

Возможно, вы также найдете что-то, что поддерживает SelectionItemPattern (есть SelectionItemIsSupportedProperty), и вам нужно будет использовать шаблон, чтобы выбрать вкладку и активировать ее, прежде чем вы сможете увидеть что-нибудь в ней.

Прошу прокомментировать, если вам нужна дополнительная информация. Это может помочь узнать, что такое структура вашего контейнера с вкладками.

* Объявление об интересе, так как я написал это.

Смежные вопросы