Я работаю над проектом, в котором необходимо имитировать нажатие клавиш, чтобы вызвать определенное поведение в другом приложении.
Все работает хорошо, с использованием импортируемой функции keybd_event (могут быть способы получше, но она работает нормально).
Теперь я хочу добавить конкретную поддержку для всей цифровой клавиатуры.
Ищу e. г. здесь http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx или в пространстве имен System.Windows.Input.Key я могу легко найти ключи для Num0..Num9, а также для NumLock. Но .. Ничего не могу найти для Num /, Num +, NumEnter и т. Д.
Я написал быстрое приложение froms, чтобы поймать событие нажатия клавиши, вывести параметры события и получил некоторые интересные результаты:
e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None
e.KeyCode Divide e.KeyData Divide e.KeyValue 111 e.Modifiers None
e.KeyCode Multiply e.KeyData Multiply e.KeyValue 106 e.Modifiers None
e.KeyCode Subtract e.KeyData Subtract e.KeyValue 109 e.Modifiers None
e.KeyCode Add e.KeyData Add e.KeyValue 107 e.Modifiers None
e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None
e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None
e.KeyCode Divide e.KeyData Divide e.KeyValue 111 e.Modifiers None
e.KeyCode Multiply e.KeyData Multiply e.KeyValue 106 e.Modifiers None
e.KeyCode Subtract e.KeyData Subtract e.KeyValue 109 e.Modifiers None
e.KeyCode Add e.KeyData Add e.KeyValue 107 e.Modifiers None
e.KeyCode Return e.KeyData Return e.KeyValue 13 e.Modifiers None
Клавиша Num + Key (и так далее) кажется клавишами, которые Windows вызывает функциональные клавиши (например, F18 для клавиши Num +). Так .. это странно, но ладно.
Но .. Я не могу отличить Enter-Key от NumEnter Key. Для моего приложения они разные, поэтому мне нужно отправить определенные коды клавиш для обоих.
И это мой вопрос: как я могу отправить обычный ключ ввода и как я могу отправить ключ NumEnter?
(Не знаю, имеет ли это значение, у меня немецкая раскладка клавиатуры.)
Спасибо за любые идеи!