如何判断键的状态

在win32程序设计中,如何判断一个键的当前状态,可以使用GetkeyState()函数,这个函数是用来获取当前键盘上键的状态,也就是说当前你那些键是DOWN的,那些键是UP的。不能不能把GetKeyState 用於尚未按下的键,您也不能为尚未按下的滑鼠按键呼叫
GetKeyState。请不要这样做:
while (GetKeyState (VK_LBUTTON) >= 0) ; // WRONG !!!
只有在您呼叫GetKeyState 期间处理讯息时,而左键已经按下,才会报告键已经按下的讯息。

例如,我想获得当前capslock键的状态,那么我可以这样做:、

if(GetkeyState(VK_CAPITAL)&0X01)// 这里主要是取得capslock键的最低位,因这个位中保存了硬件信息。MSDN上是这么说的

                                                    //A   key, such as the CAPS LOCK key, is toggled if it is turned on. The key is

                                                      //off and untoggled if the low-order bit is 0. A toggle key's indicator light (if any)

                                           //on the keyboard will be on when the key is toggled, and off when the key is untoggled.
{

  MessageBox(hWnd,_T("caps down"),_T("cap"),MB_OK);

}

MessageBox(hWnd,_T("caps up"),_T("cap"),MB_OK);

这里的最低位和键盘上的灯的亮灭是一致的!

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值