求VB代码 按F2键实现a键d键同时按。

来源:百度知道 编辑:UC知道 时间:2024/05/06 04:13:47
求VB代码 按F2键实现a键d键同时按。
在窗体不活动的情况也能使用

需要用GetKeyState 键盘钩子vb申明如下:
Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long '捕捉键盘
发送a和d键需要用keybd_event函数,申明如下
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

设计一个timer定时器,触发事件里用GetKeyState 是否是F2
If GetAsyncKeyState(vbKeyF2) = -32767 Then
Call keybd_event(vbKeyA, 0, 0, 0) '按下a
Call keybd_event(vbKeyD, 0, 0, 0) '按下a
sleep(100) '延时
Call keybd_event(vbKeyA, 0, &H2, 0) '释放a
Call keybd_event(vbKeyA, 0, &H2, 0) '释放d
end If

sleep需要申明:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

用 sendkeys
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 113 Then
SendKeys "{a}" + "{d}"
End If

End Sub

你试一下吧