zoukankan      html  css  js  c++  java
  • keybd_event使用方法

    Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作。Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWNWM_KEYUP消息。

     

    该函数原型如下:

      VOID keybd_event(

      BYTE bVk, // virtual-key code

      BYTE bScan, // hardware scan code

      DWORD dwFlags, // flags specifying various function options

      DWORD dwExtraInfo // additional data associated with keystroke

      );

      从原型可以看出,Keybd_event()共有四个参数:

          第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab(其他具体的参见附录:常用模拟键的键值对照表);

          第二个参数为扫描码,一般不用设置,用0代替就行;

          第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成"KEYEVENTF_KEYUP"

          第四个参数一般也是置0即可。

     

    例子1:模拟按下'A'
       keybd_event(65,0,0,0);
       keybd_event(65,0,KEYEVENTF_KEYUP,0);

     

    例子2:模拟按下'ALT+F4'
       keybd_event(18,0,0,0);
       keybd_event(115,0,0,0);
       keybd_event(115,0,KEYEVENTF_KEYUP,0);
       keybd_event(18,0,KEYEVENTF_KEYUP,0);

     

    附:常用模拟键的键值对照表(也可参考http://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx

     

                                                             键盘键与虚拟键码对照表

     

          字母和数字键 数字小键盘的键          功能键          其它键 
          键   键码    键   键码    键   键码     键    键码 
          A   65     0   96     F1   112   Backspace    
          B   66     1   97     F2   113   Tab       
          C   67     2   98      F3   114    Clear      12 
          D   68   3   99     F4   115  Enter      13 
          E   69     4   100    F5   116  Shift      16 
          F   70     5   101    F6   117  Control     17 
          G   71     6   102    F7   118   Alt       18 
          H   72    7   103    F8   119  Caps Lock    20 
          I   73    8   104    F9   120  Esc       27 
          J   74    9   105    F10  121  Spacebar    32 
          K   75    *   106     F11  122  Page Up     33 
          L   76    +   107     F12  123  Page Down    34 
          M   77    Enter 108    --   --   End       35 
          N   78    -   109    --   --    Home      36 
          O   79    .   110    --   --     Left Arrow   37 
          P   80    /   111    --   --     Up Arrow    38 
          Q   81    --   --     --   --     Right Arrow   39 
          R   82    --   --    --   --      Down Arrow    40 
          S   83    --   --     --   --     Insert      45 
          T   84    --   --     --   --     Delete      46 
          U   85    --   --     --   --     Help       47 
          V   86    --   --    --   --     Num Lock     144 
          W   87          
          X   88      
          Y   89      
          Z   90      
          0   48      
          1   49      
          2   50       
          3   51       
          4   52       
          5   53       
          6   54       
          7   55       
          8   56       
          9   57  

  • 相关阅读:
    〖Linux〗zigbee实验之cc2430移植tinyos2.x的步骤(Ubuntu13.10)
    〖Linux〗clang3.4的编译与安装
    〖Linux〗打开qtcreater出现错误的解决方法
    〖Linux〗gvim使用alt+1,2,3..进行标签页切换
    〖Linux〗Ubuntu13.10 安装qt开发环境
    c#, 输出二进制
    unity shader在小米2s上的问题
    unity, animtion倒放
    反射矩阵(reflection matrix)推导
    unity, 用unity profiler进行真机profile,需要退出360
  • 原文地址:https://www.cnblogs.com/masonlu/p/4631068.html
Copyright © 2011-2022 走看看