热情软件屋

 

如何判断多个键同时按下


编号:QA002888
建立日期: 2000年4月26日 最后修改日期:2000年4月26日
所属类别:

张毅:
    操作系统: win98
    编程工具: vb5
    问题: 如何做这样的键盘接收程序:同一时刻可以判断哪几个键被按下,我做电子游戏.如在一次键盘查询中判断到"<-"键被按下人物向前走,同时判断到"A"键人物出招?keypress句柄除SHIFT等不能同时接受多个按键。
    水平: 高手
    

回答:

    可以使用GetKeyboardState获得所有按键的状态,参考:
    Private Declare Function GetKeyboardState Lib "user32" _
     (pbKeyState As Byte) As Long
    
    
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
     Dim keys(0 To 255) As Byte
     GetKeyboardState keys(0)
    
     If keys(vbKeyA) >= 128 And keys(vbKeyRight) >= 128 Then
     Print "OK"
     End If
    End Sub
    
    相关问题:
    QA002779 "WM_KEYDOWN消息中如何判断多个按键"

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio