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