当前位置: 网学 > 编程文档 > VB > 正文

VB模拟鼠标的左键单击和右键单击

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式

''-------------------------------------------
''程序说明:
''本例采用API函数实现模拟的鼠标事件,程序运行后会
''产生十分有趣的效果。也来试一试。
''本例中只使用了相对鼠标坐标,我们也可以使用绝对
''鼠标坐标来试一试。
''-------------------------------------------

''【VB声明】
'' 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)

''【说明】
'' 模拟一次鼠标事件

''【备注】
'' 进行相对运动的时候,由SystemParametersInfo函数规定的系统鼠标轨迹速度会应用于鼠标运行的速度

''【参数表】
'' dwFlags -------- Long,下述标志的一个组合
'' MOUSEEVENTF_ABSOLUTE
'' dx和dy指定鼠标坐标系统中的一个绝对位置。在鼠标坐标系统中,屏幕在水平和垂直方向上均匀分割成65535×65535个单元 -
'' MOUSEEVENTF_MOVE 移动鼠标
'' MOUSEEVENTF_LEFTDOWN 模拟鼠标左键按下
'' MOUSEEVENTF_LEFTUP 模拟鼠标左键抬起
'' MOUSEEVENTF_RIGHTDOWN 模拟鼠标右键按下
'' MOUSEEVENTF_RIGHTUP 模拟鼠标右键抬起
'' MOUSEEVENTF_MIDDLEDOWN 模拟鼠标中键按下
'' MOUSEEVENTF_MIDDLEUP 模拟鼠标中键抬起
'' dx ------------- Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定水平方向的绝对位置或相对运动''

'' dy ------------- Long,根据是否指定了MOUSEEVENTF_ABSOLUTE标志,指定垂直方向的绝对位置或相对运动

'' cButtons ------- Long,未使用

'' dwExtraInfo ---- Long,通常未用的一个值。用GetMessageExtraInfo函数可取得这个值。可用的值取决于特定的驱动程序
Option Explicit
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 _
)

''Option_Tag标示选择了哪一种模拟事件
Dim Option_Tag As Integer
''OnTest标示是否处于模拟状态,以便我们停止模拟
Dim OnTest As Boolean
''对API变量的定义
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10

''控制 模拟的开始与结束
Private Sub Command1_Click()

''如果不处于模拟状态
If OnTest = False Then
Command1.Caption = "快停下来吧"
Timer1.Enabled = True
OnTest = True
''如果处于模拟状态
Else
Command1.Caption = "试一试"
Timer1.Enabled = False
OnTest = False
End If
End Sub

''窗体加载时一些变量需要设置
Private Sub Form_Load()
Option_Tag = 1
Timer1.Enabled = False
OnTest = False
End Sub

''选择了模拟“鼠标左键单击事件”
Private Sub Option1_Click()
Option_Tag = 1 ''左键单击事件
Option2.Value = False
Option3.Value = False
End Sub

''选择了模拟“鼠标右键单击事件”
Private Sub Option2_Click()
Option_Tag = 2 ''右键单击事件
Option1.Value = False
Option3.Value = False
End Sub

''选择了模拟“鼠标双击事件”
Private Sub Option3_Click()
Option_Tag = 3 ''双击事件
Option1.Value = False
Option2.Value = False

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号