Получить код сканирования из сообщения WM_CHAR

Как я могу преобразовать символ любого языка, который я ловлю с помощью WM_CHAR в WndProc код сканирования клавиатуры? Например, если нажата кнопка x он вернул бы 0x2d и т. д.

3

Решение

Код сканирования находится в битах 16-23 параметра lParam в соответствии с WM_CHAR документация, так что просто сдвиньте и замаскируйте:

int scanCode = (lParam >> 16) & 0xff;

Если у вас есть персонаж, вы можете позвонить OemKeyScan, который помещает код сканирования в младший байт:

char c='X';
int scanCode=OemKeyScan(c) & 0x0ff;
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]