2013-02-18 7 views
3

Сегодняшняя миссия состояла в том, чтобы позволить удаленному управлению приложением WinRT. При всей проводке на месте было время реализовать действия дистанционного управления. Простейшей реализацией этих действий было просто имитировать нажатие клавиши внутри процесса.Как программно запускать события нажатия клавиш в WinRT/C#/XAML?

К сожалению, мне не удалось найти способ сделать это. Я уверен, что это смотрит мне в лицо, но каждое решение, которое я нашел в Интернете, было либо через PInvoke, Windows Forms или диалекты WPF, которые недоступны в WinRT.

Кто-нибудь знает магическое заклинание?

Спасибо.

+0

UI Automation? Поиск IActiveAccessibility –

+0

Я искал IActiveAccessibility без большого успеха. Я также просмотрел пространство имен Windows.UI.Xaml.Automation, чтобы узнать, есть ли там что-то работоспособное. Насколько я мог судить, не было. Есть какие-то другие подсказки? :-) – mfeingol

+1

Как и в случае с WinRT и WPF, вы должны быть написаны в MVVM, и поэтому вам не нужно будет делать автоматизацию пользовательского интерфейса. Это следует рассматривать как анти-образец, и в конечном итоге вы найдете это довольно хрупким. – Aron

ответ

2

Невозможно программно инициировать инициированное пользователем событие в WinRT XAML. Причина в том, что некоторые API могут быть вызваны только путем взаимодействия с пользователем. Программно вызывающие такие события будут обходить этот механизм безопасности.

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