4

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

4

1 回答 1

5

根据WM_CHAR文档,扫描代码位于 lParam 参数的第 16-23 位,因此只需移位和屏蔽:

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

如果你有一个字符,你可以调用OemKeyScan,它将扫描码放在低字节中:

char c='X';
int scanCode=OemKeyScan(c) & 0x0ff;
于 2014-01-24T12:28:28.140 回答