GetKeyState

GetKeyState ,該函式檢取指定虛擬鍵的狀態。該狀態指定此鍵是UP狀態,DOWN狀態,還是被觸發的(開關每次按下此鍵時進行切換)。

功能原理

函式功能:該函式檢取指定虛擬鍵的狀態。該狀態指定此鍵是UP狀態,DOWN狀態,還是被觸發的(開關每次按下此鍵時進行切換)。
函式原型:SHORT GetKeyState(int nVirtKey);

各部份參數

函式
nVrtKey:定義一虛擬鍵。若要求的虛擬鍵是字母或數字(A~Z,a~z或0~9),nVirtKey必須被置為相應字元的ASCII碼值,對於其他的鍵,nVirtKey必須是一虛擬鍵碼。若使用非英語鍵盤布局,則取值在ASCIIa~z和0~9的虛擬鍵被用於定義絕大多數的字元鍵。例如,對於德語鍵盤格式,值為ASCII0(OX4F)的虛擬鍵指的是"0"鍵,而VK_OEM_1指"帶變音的0鍵"
返回值:返回值給出了給定虛擬鍵的狀態,狀態如下:
若高序位為1,則鍵處於DOWN狀態,否則為UP狀態。
若低序位為1,則鍵被觸發。例如CAPS LOCK鍵,被找開時將被觸發。若低序位置為0,則鍵被關閉,且不被觸發。觸發鍵在鍵盤上的指示燈,當鍵被觸發時即亮,鍵不被觸發時即滅。
備註:當給定執行緒從它的訊息佇列中讀鍵訊息時,該函式返回的鍵狀態發生改變。該狀態井不反映與硬體相關的中斷級的狀態。使用SetkeyboardState可獲取這一信息。
欲檢取所有虛擬鍵狀態信息,可以使用SetKeyboardState函式。
應用程式可以使用虛擬鍵碼常數VK_SHIFT,VK_CONTROL和VK_MENU作為nVirtKey參數的值。它給出shift,ctrl或alt鍵的值而不區分左右鍵,應用程式也可以使用如下的虛擬鍵碼常數作nVirtKey的值來區分前述鍵的左鍵、右鍵的情形。
VK_LSHIFT,VK_RSHIFT;VK_LCONTROL,VK_RCONTROL;VK_LMENU,VK_RMENU
僅當套用程式調用GetKeyboardSlate,SetKeyboardState,GetAsyncKeyState;GetKeyState和MapVirtualKey函式時,才可用這些區分左右鍵的常數
Windows CE:GetKeyState函式僅能用於檢查如下虛擬鍵的DOWN狀態。
VK_LSHIFT,VKRSHIFT,VK_LCONTROL;VK_RCONTROL;VK_LMENU,VK_RMENU
GetKeyState函式只能用於檢查VK_CAPITAL虛擬鍵的觸髮狀態。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.I及以上版本;頭檔案:winuser.h;庫檔案:user32.lib。

相關詞條

相關搜尋

熱門詞條