Запись экранных взаимодействий с использованием пользовательского интерфейса для элементов управления Silverlight - PullRequest
0 голосов
/ 01 октября 2010

Я пытаюсь использовать UI Automation для записи экранных взаимодействий в моем приложении Silverlight.У меня есть одноранговые узлы автоматизации для моей настройки элемента управления, но я не могу понять, как отслеживать эти элементы управления.

Для моего приложения WPF я бы получил AutomationElement.RootElement, а затем перешел к своему приложению и настроил AutomationОбработчики событий для интересующих меня элементов управления.

Как бы я поступил так же для приложения Silverlight?Я хочу, чтобы программа записи экрана запускалась автоматически при каждом запуске моего приложения.Регистратор экрана должен находиться в моем приложении.Но у пространства имен System.Windows.Automation silverlight нет класса AutomationElement.Так как бы мне сделать это в Silverlight?

Спасибо
Shivaprasad

1 Ответ

2 голосов
/ 01 октября 2010

Как вы заметили, класс AutomationElement не существует в Silverlight: API UIAutomation доступен только в полной .Net-среде.Silverlight поддерживается только в качестве поставщика автоматизации пользовательского интерфейса, то есть приложения Silverlight могут управляться с помощью автоматизации пользовательского интерфейса, но они не могут управлять другими приложениями.

По этой причине я не думаю, что выВы сможете создать свой экранный рекордер в приложении Silverlight - если только вы не готовы прибегнуть к каким-нибудь неприятным взломам.

Такие взломы могут включать:

  • Использование Silverlight COM Automation для вызова нового UIAutomation COM API .Пользователям потребуется установить на своих компьютерах COM API в дополнение к Silverlight.
  • Создайте «серверное» приложение в .Net, которое вы сможете запустить на целевом компьютере, который выполняет реальную работу UIAutomation, а затем установить связь.с этим из вашего приложения Silverlight, используя WCF.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...