VB6模拟键盘事件
答案:3 悬赏:30 手机版
解决时间 2021-04-04 21:03
- 提问者网友:夢醒日落
- 2021-04-04 04:41
VB6模拟键盘事件
最佳答案
- 五星知识达人网友:一把行者刀
- 2021-04-04 05:07
添加一个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
完整代码:
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
全部回答
- 1楼网友:夜风逐马
- 2021-04-04 06:36
不好意思没看清你是要在启动窗体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 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。
这样
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 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。
- 2楼网友:玩世
- 2021-04-04 05:58
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)
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)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯