如何在VB里实现自动按键盘?
我想在VB里设置自动帮我按键盘.就像按键精灵那种,不过我不想用按键精灵。键盘按一次‘Esc’鼠标按一次‘左键’键盘按一次‘Down’键盘按一次‘Enter’延时1秒键盘按...
我想在VB里设置自动帮我按键盘.就像按键精灵那种,不过我不想用按键精灵。
键盘 按一次 ‘Esc’
鼠标 按一次 ‘左键’
键盘 按一次 ‘Down’
键盘 按一次 ‘Enter’
延时 1 秒
键盘 按一次 ‘Enter’
键盘 按一次 ‘Up‘
延时 0.5秒
键盘 按一次 ‘Enter’
延时 0.1 秒
就是这样循环下去,
帮我设置Command1键钮开始 或者 热键最好 展开
键盘 按一次 ‘Esc’
鼠标 按一次 ‘左键’
键盘 按一次 ‘Down’
键盘 按一次 ‘Enter’
延时 1 秒
键盘 按一次 ‘Enter’
键盘 按一次 ‘Up‘
延时 0.5秒
键盘 按一次 ‘Enter’
延时 0.1 秒
就是这样循环下去,
帮我设置Command1键钮开始 或者 热键最好 展开
1个回答
展开全部
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
'鼠标按上按下的函数
Dim a As Integer
Private Sub Command1_Click()
Command1.Caption = IIf(Command1.Caption = "结束循环", "开始循环", "结束循环")
Timer1.Enabled = True
Timer1.Interval = IIf(Timer1.Interval = 100, 0, 100) '间隔都是0。1秒
End Sub
Private Sub Timer1_Timer()
a = a + 1
If a = 1 Then
SendKeys "{esc}"
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 '按下
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 '弹起
SendKeys "{down}"
SendKeys "{enter}"
ElseIf a = 11 Then '延时1秒
SendKeys "{enter}"
SendKeys "{up}"
ElseIf a = 16 Then '再延时0。5秒
SendKeys "{enter}"
ElseIf a = 17 Then '再延时0。1秒回到开始
a = 0
End If
End Sub
'键盘 按一次 ‘Esc’
'鼠标 按一次 ‘左键’
'键盘 按一次 ‘Down’
'键盘 按一次 ‘Enter’
'延时 1 秒
'键盘 按一次 ‘Enter’
'键盘 按一次 ‘Up‘
'延时 0.5秒
'键盘 按一次 ‘Enter’
'延时 0.1 秒
建议你自己加一个热键,因为你时间循环太短了,按照代码来说,你刚一按开始,如果不能在0。1秒内的时间离开VB程序而找到你要工作的游戏(焦点失去,反正意思你懂哦?)那么,程序会自动在按“enter"而我把开始与结束放在一个command1里了,这样一来又等于按了一下结束`````
要不你自己多加一结束按钮吧,要不自己去设个热键,热键百度去查吧/。
'鼠标按上按下的函数
Dim a As Integer
Private Sub Command1_Click()
Command1.Caption = IIf(Command1.Caption = "结束循环", "开始循环", "结束循环")
Timer1.Enabled = True
Timer1.Interval = IIf(Timer1.Interval = 100, 0, 100) '间隔都是0。1秒
End Sub
Private Sub Timer1_Timer()
a = a + 1
If a = 1 Then
SendKeys "{esc}"
mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 '按下
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 '弹起
SendKeys "{down}"
SendKeys "{enter}"
ElseIf a = 11 Then '延时1秒
SendKeys "{enter}"
SendKeys "{up}"
ElseIf a = 16 Then '再延时0。5秒
SendKeys "{enter}"
ElseIf a = 17 Then '再延时0。1秒回到开始
a = 0
End If
End Sub
'键盘 按一次 ‘Esc’
'鼠标 按一次 ‘左键’
'键盘 按一次 ‘Down’
'键盘 按一次 ‘Enter’
'延时 1 秒
'键盘 按一次 ‘Enter’
'键盘 按一次 ‘Up‘
'延时 0.5秒
'键盘 按一次 ‘Enter’
'延时 0.1 秒
建议你自己加一个热键,因为你时间循环太短了,按照代码来说,你刚一按开始,如果不能在0。1秒内的时间离开VB程序而找到你要工作的游戏(焦点失去,反正意思你懂哦?)那么,程序会自动在按“enter"而我把开始与结束放在一个command1里了,这样一来又等于按了一下结束`````
要不你自己多加一结束按钮吧,要不自己去设个热键,热键百度去查吧/。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询