如何判断多个键同时按下
编号: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消息中如何判断多个按键"
此问题由李海回答。
| |
|
|
| |
|
|