1. 程式人生 > 其它 >Delphi WinAPI keybd_event - 合成按鍵 之 模擬鍵盤按鍵

Delphi WinAPI keybd_event - 合成按鍵 之 模擬鍵盤按鍵

Delphi WinAPI keybd_event - 合成按鍵 之 模擬鍵盤按鍵

1、功能描述:

合成按鍵。系統可以使用這種合成的擊鍵來生成WM_KEYUP 或 WM_KEYDOWN訊息。

鍵盤驅動程式的中斷處理程式呼叫keybd_event事件函式。

注意:此功能已被取代。改用SendInput。

2、原型:

void keybd_event(
  BYTE      bVk,  //虛擬金鑰程式碼。程式碼的值必須介於1到254之間。
  BYTE      bScan,  //鑰匙的硬體掃描程式碼。一般不設定,預設0代替;
  DWORD     dwFlags,  //控制函式操作的各個方面。
  ULONG_PTR dwExtraInfo  //與按鍵筆劃相關的附加值。 一般為 0
);

3、引數  

  • bVk //虛擬金鑰程式碼。程式碼的值必須介於1到254之間。有關完整列表,請參閱 Win虛擬鍵程式碼。 以及這份:Delphi 內虛擬按鍵
  • bScan //鑰匙的硬體掃描程式碼。一般不設定,預設0代替;
  • dwFlags //控制函式操作的各個方面。此引數可以是以下一個或多個值。dwExtraInfo //與按鍵筆劃相關的附加值。 一般為 0  
    • KEYEVENTF_EXTENDEDKEY //如果指定,掃描程式碼前面會有一個值為0xE0(224)的字首位元組。
    • KEYEVENTF_KEYUP //如果指定,則釋放金鑰。如果未指定,則按鍵被按下。
  • dwExtraInfo//與按鍵筆劃相關的附加值。 一般為 0

4、返回值:無

5、Delphi 示例

示例1:

  //A
  keybd_event(65,0,0,0);
  keybd_event(65,0,KEYEVENTF_KEYUP,0);
  //B
  keybd_event(66,0,0,0);
  keybd_event(66,0,KEYEVENTF_KEYUP,0);
  //C
  keybd_event(67,0,0,0);
  keybd_event(67,0,KEYEVENTF_KEYUP,0);

示例2:

  //win+d
  keybd_event(VK_LWIN,0,0,0);
  keybd_event(68,0,0,0);
  keybd_event(VK_LWIN,0,KEYEVENTF_KEYUP,0);
  keybd_event(68,0,KEYEVENTF_KEYUP,0);

建立時間:2021.06.28  更新時間: