В настоящее время у меня есть настольная программа Win32, написанная на C ++, которая использует Raw HID Input API (сообщение l oop, наблюдающее WM_INPUT
сообщения) для чтения ключевых событий и также получите указатель на указанную c клавиатуру, которая произвела событие. Мне нужна эта информация, чтобы изменить поведение в зависимости от клавиатуры, когда я использую несколько клавиатур.
Теперь, поскольку разработка хорошего Win32 GUI кажется мне болезненной, я хотел бы использовать UWP UI. Я пытался KeyRoutedEventArgs.DeviceId , но это всегда пустая строка (""
). Может быть, это потому, что он поддерживается только в Xbox?
Альтернативой может быть повторное использование Raw Input API, но первая проблема, с которой я сталкиваюсь, заключается в следующем: могу ли я даже получать оконные сообщения от UWP окно? И если так: возможно ли объединить это с Raw Input API для получения WM_INPUT
сообщений?
Для ясности: мне не нужно, чтобы программа была в магазине Windows или что-то еще, Я просто хотел бы иметь хороший интерфейс. Но, возможно (возможно?), Это невозможно сделать следующим образом: /
Что-то, о чем я только что подумал, это попытка глобально прослушивать события, используя RIDEV_INPUTSINK
, когда приложение UWP окно сфокусировано, но это мягкий взлом, и я надеюсь, что есть лучший и более простой способ, как свойство DeviceId
.