P>У меня имеется следующий COM-класс:
....... P>Событие WM_KEYDOWN наступает, но код нажатой клавиши выдается совсем не тот. P>Событие WM_CHAR никогда не наступает!
P>Что это такое? Что я упустил из виду? Может быть что-то не так?
Предположение.
В недрах каждой проги для Вин в функции WinMain присутствует главный цикл выборки сообщений. Его задача — извлечь сообщение из очереди (::GetMessage(...)) и направить его на обработку окну, которому оно поступило via ::DispatchMessage(...). Перед этим осуществляется одно маленькое, но важное действие: происходит трансляция _клавиатурных_ сообщений из виртуальных кодов в символьные. То есть WM_KEYDOWN -> WM_SYSCHAR -> WM_CHAR. Это делается функцией ::TranslateMessage(...).