VB6模拟键盘事件

帮忙写一个程序:程序启动5秒后用shell打开记事本,等待1秒后按下"a",再等待2秒后按下"b",之后停止操作并获取焦点。要求:用keybd_event、操作完成后记事... 帮忙写一个程序:
程序启动5秒后用shell打开记事本,等待1秒后按下"a",再等待2秒后按下"b",之后停止操作并获取焦点。
要求:用keybd_event、操作完成后记事本上显示"ab"
展开
 我来答
匿名用户
2013-10-13
展开全部
不好意思没看清你是要在启动窗体5秒后运行时候 运行
这样
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
Sleep (5000) '等带5秒
Shell "notepad", 1
Sleep (1000) '等带1秒
Call keybd_event(65, 0, 0, 0) '模拟按下"a"键
Sleep (2000) '等带2秒
Call keybd_event(66, 0, 0, 0) '模拟按下"b"键
Me.Show
End Sub
然后再添加一个模块
在里面写上
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
如果你要一启动就要看见窗体可以添加一个timer控件 Interval 设置为5000
把上面的代码换成Private Sub Timer1_Timer()
Shell "notepad", 1
Sleep (1000) '等带1秒
Call keybd_event(65, 0, 0, 0) '模拟按下"a"键
Sleep (2000) '等带2秒
Call keybd_event(66, 0, 0, 0) '模拟按下"b"键
Me.Show
Timer1.Enabled = False
End Sub
其余不变 你可以自己灵活修改下
主要代码已经给你了
哪个shell 后面的1是正常显示窗体
vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。
VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。
VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。
VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。
VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。
VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。
匿名用户
2013-10-13
展开全部
添加一个commandbutton,启动后点击command1激发事件
完整代码:
Option Explicit
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
Sleep (5000)
Shell "notepad", 1
Sleep (1000)
Call keybd_event(65, 0, 0, 0)
Sleep (2000)
Call keybd_event(66, 0, 0, 0)
Form1.SetFocus
End Sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-13
展开全部
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
Shell "notepad", 1
Sleep (1000) '等待2秒
Call keybd_event(65, 0, 0, 0) '模拟按下"a"键
Sleep (2000) '等待2秒
Call keybd_event(66, 0, 0, 0) '模拟按下"b"键
Me.SetFocus
End Sub
然后再添加一个模块
在里面写上
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式