如何将通过 WndProc
中的 WM_CHAR
捕获的任何语言的字符转换为键盘扫描码?就像按下的按钮是 x
它会返回 0x2d 等等。
最佳答案
根据 WM_CHAR,扫描码在 lParam 参数的第 16-23 位中文档,所以只需移位和掩码:
int scanCode = (lParam >> 16) & 0xff;
如果你有一个角色,你可以调用OemKeyScan ,将扫描码放在低字节:
char c='X';
int scanCode=OemKeyScan(c) & 0x0ff;
关于c++ - 从 WM_CHAR 消息中获取扫描码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21332553/