伙计们真的无法绕过getkeyboardstate()函数和getkeystate()函数
我想判断是否按下了箭头键,然后是否退出。
Public Declare PtrSafe Function GetKeyState Lib "user32" (pbKeyState As Byte) As Long
我使用上面的内容,然后在子中使用以下内容;
GetKeyState(44)
我正在寻找是否按下了版画屏幕,但它似乎没有返回0
我做错了什么?有人知道吗?
答案 0 :(得分:0)
这似乎不是你的问题。
如果我这样做:
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Sub luxation()
For j = 1 To 300
For i = 1 To 100000
If (GetAsyncKeyState(vbKeyA)) Then
MsgBox "Got an a"
Exit Sub
End If
If (GetAsyncKeyState(vbKeyPrint)) Then
MsgBox "Got PrintScreen"
Exit Sub
End If
If (GetAsyncKeyState(vbKeySnapshot)) Then
MsgBox "Got snap"
Exit Sub
End If
Next i
Next j
MsgBox "Failed"
End Sub
在我年迈的戴尔身上,如果我没有按键,它会循环约30秒。
如果我触摸 A 键,我会收到相应的消息。
如果我触摸 PrntScr 键,我会收到快照消息,而不是 PrintScreen 消息。
至少在我的戴尔上,我需要使用 vbKeySnapshot 来捕获 PrntScr 键。