В приложении, где мне нужно обрабатывать много ключей по-разному, я хочу обрабатывать все случаи в WM_KEYDOWN и вообще не использовать WM_CHAR.Можно ли получить правильный символ ASCII / UNICODE из последовательности предоставленных WM_KEYDOWN виртуальных ключей вместо того, чтобы полагаться на более обычный TranslateMsg / WM_CHAR?
Например: приложение должно иметь возможность обрабатывать Shift-Bсовершенно по-другому, что нажатие на обычный B CTRL-B.
Используя MapVirtualKey, вы не используете состояние клавиш Shift, Control и Alt или, по крайней мере, то, что я не вижу.
Как ответил Лео Дэвидсон: вы можете использовать вызов ToUnicodeвыполнить конвертацию VK -> Unicode самостоятельно.