Windows всегда отправляет сообщения WM_KEY *** окну, которое имеет фокус.Таким образом, все элементы управления, которые получают фокус, «прерывают» сообщения клавиатуры.
Общий способ справиться с этим подразумевается при работе функции IsDialogMessage .
Сообщения клавиатурыразмещены в очереди сообщений приложений.Ожидается, что сообщения клавиатуры, которые применяются к приложению в целом, обрабатываются в цикле сообщений приложения.Эти нажатия клавиш обычно называются «ускорителями», и для их устранения существует API: TranslateAccelerator
Создайте таблицу ускорителей, описывающую нажатия клавиш, измените цикл сообщений, чтобы сначала передать все сообщения TranslateAcceleratorи тебе надо идти.