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  ide

相關文章
相關標籤/搜索