您的位置:首页 > 其它

模拟键盘API函数Keybd_event用法

2013-09-20 02:21 246 查看
模拟键盘API函数Keybd_event用法

Windows提供了一个模拟键盘API函数Keybd_event(),使用该函数可以相应的屏蔽键盘的动作。Keybd_event()函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM_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    8

      B   66   1   97     F2   113   Tab       9

      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  

转载http://blog.csdn.net/yizhou2010/article/details/6178115

guyue

2013.9.20
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: