1. 程式人生 > 實用技巧 >Delphi 鍵盤API GetKeyState、GetAsyncKeyState -獲取鍵盤 / 按鍵值Key的狀態

Delphi 鍵盤API GetKeyState、GetAsyncKeyState -獲取鍵盤 / 按鍵值Key的狀態

Delphi 鍵盤API GetKeyState、GetAsyncKeyState -獲取鍵盤 / 按鍵值key的狀態

1、GetKeyState

作用:檢索指定虛擬金鑰的狀態。狀態指定該鍵是向上、向下還是切換(每次按該鍵時交替開啟、關閉)。

原型:

SHORT GetKeyState(
  int nVirtKey
);

返回值:

  • 返回值指定虛擬金鑰的狀態,如下所示:
  • 如果高階位為1,則鍵為down;否則為up。
  • 如果低階位為1,則鍵被切換。如果鍵(如大寫鎖定鍵)處於啟用狀態,則會切換該鍵。如果低階位為0,則鍵處於關閉狀態,且不發生變化。撥動鍵時,鍵盤上的指示燈(如果有)將亮起;當鍵未被撥動時,指示燈將熄滅。

 

2、GetAsyncKeyState(非同步獲取鍵盤狀態)

作用:確定在呼叫函式時鍵是向上還是向下,以及在上一次呼叫GetAsyncKeyState之後是否按下了該鍵。

原型:

SHORT GetAsyncKeyState(
  int vKey
);

返回值:如果函式成功,則返回值指定自上次呼叫GetAsyncKeyState後是否按下該鍵,以及該鍵當前是向上還是向下。如果設定了最高有效位,則鍵為down;如果設定了最低有效位,則在上一次呼叫GetAsyncKeyState之後按下了該鍵。但是,您不應該依賴最後一種行為;

經過測試返回值的結果:1,0,-32768 (未按下返回0,上一次按過返回1,一直按下返回負數 ---滔Roy 2020.07.29)

  

建立時間:2020.07.29  更新時間: