如何通过WM_CHAR
中的WndProc
将我捕获的任何语言的字符转换为键盘扫描码?就像按下的按钮是x
一样,它会返回0x2d等等。
答案 0 :(得分:4)
根据WM_CHAR文档,扫描代码位于lParam参数的16-23位,因此只需移位和掩码:
int scanCode = (lParam >> 16) & 0xff;
如果你有一个角色,你可以调用OemKeyScan,它将扫描码放在低位字节中:
char c='X';
int scanCode=OemKeyScan(c) & 0x0ff;