Я пытаюсь отправить ввод из WPF Window
, у которого нет фокуса. Идея состоит в том, чтобы создать виртуальную цифровую клавиатуру, в которой нажатие Alt+M
, например, отправляет Alt+Numpad0
. У меня есть глобальные хуки Майкла Кеннеди. работает, но я не могу найти способ:
1) Отправить ключи из неактивного окна
2) Проглотите эти ключи, чтобы они не обрабатывались приложением, которое имеет фокус.
Второй может стать проблемой, как только я исправлю первый.
System.Windows.Forms.SendKeys
не сработало для этого, потому что мне нужно смоделировать комбинации Alt+xxx
для создания правильных символов. Я также попробовал System.Windows.Input.InputManager.Process()
из сообщение MSDN, но если окно, отправляющее входные данные, не имеет фокуса, то InputSource, который я использовал (второй параметр — Keyboard.PrimaryDevice.ActiveSource
), имеет значение null.
Любые идеи?
Почему виртуальная цифровая клавиатура? Без цифровой клавиатуры на моем ноутбуке (Studio 1555) я не могу вводить символы, не открывая чармап - спасибо, Делл!