从WM_char消息获取扫描代码

Get scan code from WM_CHAR message

本文关键字:获取 扫描 代码 消息 char WM      更新时间:2023-10-16

如何将我通过WndProcWM_CHAR捕获的任何语言的字符转换为键盘扫描代码?就像按下按钮是x,它将返回0x2d等。

根据WM_CHAR文档,扫描代码在LPARAM参数的位16-23中,所以只需移动和掩码:

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

如果您有一个角色,则可以调用Oemkeyscan,这将扫描代码放在低字节中:

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