Отправка ключей в браузер WPF - PullRequest
1 голос
/ 25 августа 2009

Могу ли я программно отправить [UserID] {TAB} [Password] {CARRIAGE RETURN} на веб-браузер, в котором есть идентификатор пользователя, пароль и кнопка входа. Я хотел использовать свою виртуальную клавиатуру в своем приложении. Любые советы здесь?

Ответы [ 2 ]

2 голосов
/ 22 декабря 2009

Извините за поздний ответ, но я только что закончил аналогичный проект, и в рамках этой работы я нахожусь в процессе открытия двух проектов для Codeplex.

Первый - это Windows Input Simulator , который представляет собой простую оболочку .NET для Win32 SendInput, написанную на C #.

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

1 голос
/ 26 августа 2009

Мне недавно пришлось внедрить автоматическую аутентификацию через браузер WPF, и я посмотрел на симуляцию нажатия клавиш. Мне не нужна была полноценная виртуальная клавиатура, поэтому взаимодействие с DOM на странице входа через IHTMLDocument2 оказалось лучшим подходом, но я посмотрел на автоматизацию нажатия клавиш, прежде чем принять это решение, и нашел несколько вариантов .

  1. Вы можете вызывать соответствующие перенаправленные события на элементе управления, как описано в Имитация основных событий клавиатуры и Имитация ввода текста . Я не знаю каких-либо особых проблем с этим подходом, но я выбрал его просто потому, что мне было неудобно моделировать ввод, не глядя на то, как CLR обрабатывает фактический ввод, и по крайней мере не увеличивая полное время жизни (PreviewKeyDown, KeyDown, PreviewKeyUp, KeyUp) Я остерегался непредвиденных последствий.

  2. Взгляните на WOSK на CodePlex. Это хороший пример того, как вызывать функции Win32 keybd_event и SendInput для генерации низкоуровневых входных сообщений через Управляемый Windows API для имитации ввода , Есть некоторый ненужный пух (например, прозрачность) и некоторое странное использование WPF, например, использование CommandParameter с событием Click вместо Command на кнопках, но общий подход вменяемый, и он достаточно завершен.

  3. Вы также можете вызвать экранную клавиатуру Windows, на которую ссылается Jeroen. Я не пробовал этого, потому что мне не нужна виртуальная клавиатура, но если вы все равно собираетесь звонить в Win32, вы можете также следовать модели WOSK и построить пользовательский интерфейс так, как вы хотите это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...