2015-03-10 3 views
1

Я использовал RegisterHotKey для регистрации глобальной горячей клавиши для моего приложения. Мне нужно зарегистрировать Control + Shift + 0 (в numpad) для приложения. Я зарегистрировал его, используя приведенный ниже фрагмент кода:Использование RegisterHotKey для регистрации горячей клавиши с помощью Numpad

RegisterHotKey(_mainWindowHandle, 1, (uint)ModifierKeys.Control | (uint)ModifierKeys.Shift | 0X4000, (uint)Keys.NumPad0); 

Однако это не отвечает, как и ожидалось, другие горячие клавиши зарегистрировавшись, только выше комбинация не отвечает.

+2

Конечно, когда вы удерживаете клавишу Shift, клавиши numpad генерируют другой код. NumPad0 становится Insert. Состояние ключа NumLock тоже имеет значение, поэтому, вероятно, это не отличный выбор для горячей клавиши. –

ответ

0

Shift + Numpad генерирует другой код, поэтому Ctrl + Shft + Numpad не производит ожидаемого результата. Я нашел обходной путь, изменив ярлык Ctrl + Shift + Numpad на Ctrl + Numpad.