2 回答

TA貢獻1802條經驗 獲得超6個贊
函數功能:該函數檢取指定虛擬鍵的狀態。該狀態指定此鍵是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虛擬鍵的觸發狀態。
但是 $10 指的是那個鍵我就不知道了。

TA貢獻1856條經驗 獲得超5個贊
該函數檢取指定虛擬鍵的狀態。該狀態指定此鍵是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虛擬鍵的觸發狀態。
添加回答
舉報