none
keybd_event的参数问题 RRS feed

  • 问题

  • 如题,关于keybd_event的第三个参数的解释我查了一些资料和微软官网的资料,关于第三个参数共有三个值其中0,和2我常用但是当值为1时是什么意思呢?有人跟我说是启用扩展的意思但我还是没理解,希望有人给我解释下这个参数,谢谢。

    下面链接是微软文档里面的解释。

    微软官方的解释
    • 已编辑 Schme 2015年1月6日 3:46
    2015年1月6日 3:42

全部回复

  • 你好:

    KEYEVENTF_EXTENDEDKEY
    0x0001

    If specified, the scan code was preceded by a prefix byte having the value 0xE0 (224).

    官方的解释翻译过来意思应该是扫描的键盘码会带0xE0的前缀,我查了一下,带这个字节的前缀的是键盘右侧的小键盘部分。意思可能是只监视小键盘的事件,你可以用代码测试一下。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年1月7日 10:32
    版主
  • Thank You!
    2015年1月12日 2:19
  • 您好,我试了下如果第三个参数改为1的话会发送两次虚拟按键。如果设为2的话则只发送一次,似乎和小键盘没有什么关系?

     public static void SendKey(Keys key)
            {
                keybd_event((byte)key, 0, 0, 0);
                keybd_event((byte)key, 0, 2, 0);
            }

    2015年1月12日 2:35
  • 建议你到C++或者Windows相关的论坛去问一下,这个问题已经脱离了.Net Framework的范畴了。我暂时也给不了你答案。

    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年1月13日 6:01
    版主