2015-04-09 1 views
2

Я пишу два приложения C# в WPF с использованием шаблона MVVM. Эти приложения будут отображаться на отдельных экранах. Первое - это простое приложение с формами и т. Д. И еще один - это эмулятор телефона.Фильтровать указанное клавиатурное устройство в WPF

Я купил еще одну клавиатуру, и я хочу привязать второе устройство клавиатуры только к мобильному эмулятору, поэтому ему не нужно работать с другими приложениями (веб-браузер и т. Д.). Я буду хорошо, если второе приложение будет обрабатывать события второй клавиатуры, даже если основное внимание уделяется первому приложению.

Я попытался использовать LowLevelKeyboardProc, но я не могу найти имя устройства/идентификатор в данной структуре KBDLLHOOKSTRUCT.

Знаете ли вы альтернативный способ сделать это или как получить имя/идентификатор устройства с помощью LowLevelKeyboardProc?

ответ

0

У меня также была эта проблема, и я нашел эту библиотеку http://www.oblita.com/interception.html, которая может использоваться для перехвата ключей и знать, с какого устройства они пришли. Он требует установки драйвера, но работает очень хорошо. Единственная проблема для меня заключалась в том, что она не может перехватывать медиа-ключи, такие как воспроизведение, пауза и т. Д. Поэтому, если у вас есть какая-то другая идея, которую я хотел бы узнать.

Редактировать: если вам нужна обертка C#, то это https://github.com/jasonpang/Interceptor

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