如何在VB里实现自动按键盘?

我想在VB里设置自动帮我按键盘.就像按键精灵那种,不过我不想用按键精灵。键盘按一次‘Esc’鼠标按一次‘左键’键盘按一次‘Down’键盘按一次‘Enter’延时1秒键盘按... 我想在VB里设置自动帮我按键盘.就像按键精灵那种,不过我不想用按键精灵。
键盘 按一次 ‘Esc’
鼠标 按一次 ‘左键’
键盘 按一次 ‘Down’
键盘 按一次 ‘Enter’
延时 1 秒
键盘 按一次 ‘Enter’
键盘 按一次 ‘Up‘
延时 0.5秒
键盘 按一次 ‘Enter’
延时 0.1 秒

就是这样循环下去,
帮我设置Command1键钮开始 或者 热键最好
展开
 我来答
fafa_12184155
推荐于2016-10-28 · TA获得超过613个赞
知道小有建树答主
回答量:797
采纳率:0%
帮助的人:599万
展开全部
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里了,这样一来又等于按了一下结束`````
要不你自己多加一结束按钮吧,要不自己去设个热键,热键百度去查吧/。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式