判斷按鍵是否按下去了!

在一些較爲特殊的軟件中。

比如,人事軟件A/B賬的問題。會涉及到一些特殊的功能(例如:必須按住鍵盤左Ctrl鍵,再按鼠標右鍵。這樣纔出現菜單,否則不出現)而只是讓公司的人知道而讓查廠人員不知道,就需要隱藏或是另定義過程的功能,這樣,就皆大歡喜了


下面是以必須按住鍵盤左Ctrl鍵,再按鼠標右鍵。這樣纔出現菜單來作例子;

使用 GetKeyState(nVirtualKeyCode) 函數就可以達到目的了;


procedure Tfrm_SendKQData_Main.PM_1Popup(Sender: TObject);
begin
  if not ((integer(GetKeyState(VK_LCONTROL)) and integer($80))<>0 ) then Abort;
end;


其實很簡單,就是在 POUMENU的 OnPopup 的事件下上面的代碼即可


其中 VK_LCONTROL 爲鍵盤左邊的CTRL鍵。


常用的鍵的nVirtualKeyCode值是:
VK_SHIFT: 任何一個Shift鍵
VK_LSHIFT: 左邊的那個
VK_RSHIFT

VK_CONTROL: 任何一個Ctrl鍵
VK_LCONTROL
VK_RCONTROL

VK_MENU: 任何一個Alt鍵
VK_LMENU
VK_RMENU

發佈了171 篇原創文章 · 獲贊 15 · 訪問量 65萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章