判斷鍵是否按下

2021-09-05 13:26:30 字數 777 閱讀 8462

//確定系統當前物理滑鼠按鈕與邏輯滑鼠按鈕的對應關係,當滑鼠按鈕被左右交換後,函式返回true

int ismouseswap = ::getsystemmetrics(sm_swapbutton);

//確定函式被呼叫時,相應按鍵是處於按下狀態,還是處於彈起狀態;並且按下此鍵前否呼叫過getasynckeystate函式。

//若最高位被置為1,則鍵被接下:

//若最低位被置為1,則該鍵在前次呼叫getasynckeystate以來處於被接下的狀態

//若為0,則另一程序或執行緒中的視窗擁有鍵盤焦點(或是win95)

short imousekeystate = ::getasynckeystate( ismouseswap ? vk_rbutton : vk_lbutton);

bool isprimarymouseb***own = ( imousekeystate & 0x8000) != 0;

可以使用虛擬鍵碼常數vd_shift,vk_control,vk_menu作為vkey引數的值,這樣給出shift ctrl,ait鍵的狀態,而不區分是左鍵還是右鍵。

windows nt:可以使用如下的虛擬鍵碼常數作為vkey的值來區分左右鍵的情況:

vk_lshift vk_rshift;vw_lcontrol vk_rcontrol;vk_lmenu vk_rmenu

這些可區分的左右鍵常量僅當呼叫getkeyboardstate,setkeyboardstate,getasynckeystate,getkeystate和mapviruaikey函式時才可用。

怎樣判斷鍵盤是否有按鍵按下?

一般情況下我們邊寫程式需要在程式執行中判斷是否使用者按下了鍵盤的鍵,比如按任意鍵退出的實現,那麼怎樣實現這個功能呢?有人可能想到c 中的meaasge中用case判斷,太麻煩了,或者用kbhit 函式,這個函式不錯,但是這個函式有時候還是不太好用,如果在while kbhit 中有很大乙個迴圈,猜下...

js如何判斷滑鼠左鍵是否按下

js中判斷滑鼠按鍵的問題。ie 左鍵是 window.event.button 1 右鍵是 window.event.button 2 中鍵是 window.event.button 4 沒有按鍵動作window.event.button 0 firefox 左鍵是 event.button 0 右...

C 檢測鍵盤某鍵是否按下的方法

檢測鍵盤與滑鼠差不多,但是它比較好記 但是比較奇怪,比如你想要檢測字母,必須是它的大寫 具體的就參照虛擬鍵盤值表,上可以查到 為了能更清楚地表達,我編了個小程式 include include define key down vk nonzbxokname getasynckeystate vk n...