C#中keybd_event 用法及键码参照

Windows提供了一个模拟键盘API函数Keybd_event(),该函数能触发一个按键事件,也就是说会产生一个WM_KEYDOWN或WM_KEYUP消息。

[DllImport("user32.dll", EntryPoint = "keybd_event")]

public static extern void keybd_event(

byte bVk, //虚拟键值

byte bScan,// 一般为0

int dwFlags, //这里是整数类型 0 为按下,2为释放

int dwExtraInfo //这里是整数类型 一般情况下设成为 0

);

使用方法:

keybd_event((byte)Keys.LWin, 0, 0, 0); //按下LWIN

keybd_event((byte)Keys.D, 0, 0, 0); //按下D

keybd_event((byte)Keys.LWin, 0, 2, 0); //释放LWIN

keybd_event((byte)Keys.D, 0, 2, 0); //释放D

补充:

1.调用API函数记得引用:using System.Runtime.InteropServices;

2.常用模拟键的键值对照表。

                      键盘键与虚拟键码对照表

      字母和数字键   数字小键盘的键       功能键         其它键 
      键   键码   键   键码       键   键码     键      键码 
      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  

你可能感兴趣的:(api,C#,虚拟键盘)