肯定可以了,不过我一般使用计时器+GetAsyncKeyState来使用,效果也差不多,就是按键按下不放的话,老是重复检测的到,不过也没什么大影响。
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
'VK_F5(74) F5(key)
' VK_F6(75) F6(key)
' VK_F7(76) F7(key)
' VK_F8(77) F8(key)
If GetAsyncKeyState(&H74) Then ' F5(key) 键按下
End If
' If GetAsyncKeyState(&H1) Then '鼠标左键按下
' End If
If GetAsyncKeyState(&H75) Then ' F6(key) 键按下
End If
If GetAsyncKeyState(&H77) Then ' F8(key) 键按下
End If
' If GetAsyncKeyState(&H43) Then 'C键按下
' End If
End Sub
仅仅使用VB恐怕做不到,因为要使用Hook(钩子),Hook利用DLL注入原理实现内存全局映射,而VB似乎不可开发标准DLLs(VB只能开发 ActiveX DLL)
建议使用Delphi或者VC之类的开发工具开发Hook DLL,然后使用VB调用
timer+GetAsyncKeyState