Windows 如何在win32中将硬件ascii转换为硬件扫描代码

Windows 如何在win32中将硬件ascii转换为硬件扫描代码,windows,visual-studio,winapi,Windows,Visual Studio,Winapi,是否有办法将字符转换为相应的硬件扫描代码(而不是虚拟密钥代码)?我需要它来与古老的硬件设备通信。似乎最直接的方法是使用MapVirtualKey或MapVirtualKeyx,将VK代码转换为扫描代码 可以使用VkKeyScan(根据MS文档提取包含VK代码的低位字节)获取字符到VK扫描代码。因此,要获得“X”的扫描代码: UINT VKCode=LOBYTE(VkKeyScan('X')); UINT ScanCode=MapVirtualKey(VKCode,0); 哪一个古老的硬件设

是否有办法将字符转换为相应的硬件扫描代码(而不是虚拟密钥代码)?我需要它来与古老的硬件设备通信。

似乎最直接的方法是使用MapVirtualKey或MapVirtualKeyx,将VK代码转换为扫描代码

可以使用VkKeyScan(根据MS文档提取包含VK代码的低位字节)获取字符到VK扫描代码。因此,要获得“X”的扫描代码:

 UINT VKCode=LOBYTE(VkKeyScan('X'));
 UINT ScanCode=MapVirtualKey(VKCode,0);

哪一个古老的硬件设备??一个古老的国产嵌入式系统。它接受发送给它的原始键盘扫描代码。我制作了一个C#应用程序来控制它,我希望发送给它的数据可读。一个更完整的答案是,使用VkKeyScan将密钥转换为VirtualKey代码,然后使用MapVirtualKey将其转换为ScanCode在现实生活中实际尝试过这一点,然后遇到了问题;在重新阅读MS文档之后,我将LOBYTE添加到上面的解决方案代码中