1. 程式人生 > >C#中keybd_event 用法及鍵碼參照

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