解决方案:键盘虚拟代码和扫描代码转换方法MapVirtualKey

电脑杂谈  发布时间:2020-11-11 06:02:25  来源:网络整理

键盘扫描码_键盘扫描码 通码 断码_键盘扫描码

要调用键盘挂钩回调函数,您需要构造参数LPARAM,其中16-23位是按键的扫描代码。

可以使用Windows API函数MapVirtualKey获取键盘扫描代码。

键盘扫描码 通码 断码_键盘扫描码_键盘扫描码

MapVirtualKey函数原型:

UINT WINAPI MapVirtualKey(
  _In_ UINT uCode,
  _In_ UINT uMapType
);

键盘扫描码 通码 断码_键盘扫描码_键盘扫描码

MapVirtualKey函数参数的详细说明:

uCode:定义密钥的扫描代码或虚拟密钥代码。该值的解释方式取决于uMapType参数的值。

键盘扫描码 通码 断码_键盘扫描码_键盘扫描码

uMapType:定义要执行的翻译。此参数的值取决于uCode参数的值。值如下:

MAPVK_VK_TO_VSC 0:表示uCode是虚拟键码,并转换为扫描码。如果虚拟键码不能区分左右键,则返回左键的扫描码。如果不执行任何翻译,则该函数返回O。

键盘扫描码_键盘扫描码 通码 断码_键盘扫描码

MAPVK_VSC_TO_VK 1:表示uCode为扫描代码,并转换为虚拟键码,并且该虚拟键码不能区分左右。如果不执行任何转换,则该函数返回0。

MAPVK_VK_TO_CHAR(2):表示uCode是虚拟键代码,并转换为未移位的字符值并存储在返回值的低位字中。通过设置返回值来设置死键(语音符号)最高有效位。如果不执行任何转换,则该函数返回0。

MAPVK_VSC_TO_VK_EX 3:将uCode表示为扫描代码,并转换为区分左右键的虚拟键代码。如果不执行任何转换,则该函数返回0。

返回值:返回值可以是扫描码,虚拟键码或字符值,这完全取决于不同uCode和uMapType的值。如果不执行任何转换,则该函数返回0。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-332444-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 纪昀
        纪昀

        让这帮家伙丢丢丑

      • 刘瑞雪
        刘瑞雪

        这样美国称霸全球就不会有任何阻碍

      热点图片
      拼命载入中...