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

转载 2007年09月26日 14:00:00
'-------------------------------------------
'
       模拟鼠标的左键单击和右键单击
'-------------------------------------------
'
程序说明:
'
本例采用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 _
    )
 
'对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

 
    
'调用了mouse_event函数,其参数的设置见前面说明
    '如果同时要模拟两个鼠标事件,可以用 Or 将两个参数连接
    '这里是 鼠标左键按下 和松开两个事件的组合即一次单击:
    mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0000

    
'模拟鼠标右键单击事件:
    mouse_event MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP, 0000
 
    
'两次连续的鼠标左键单击事件 构成一次鼠标双击事件:
    mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0000
    mouse_event MOUSEEVENTF_LEFTDOWN 
Or MOUSEEVENTF_LEFTUP, 0000
 
 
 

相关文章推荐

ArcGIS API for Silverlight开发中鼠标左键点击地图上的点弹出窗口及右键点击弹出快捷菜单的实现代码

1、首先在SL项目中添加一个抽象类ContextMenu.cs文件,代码如下: using System; using System.Net; using System.Windows; using ...

解惑:Postmessage函数模拟鼠标单击指定坐标

首先,我不是刻意去学习Postmessage函数,也不愿意花费很多经历去研究API。但是为了完善自己的知识和体现域学式的学习方法,顺便研究了一下这个函数。 网上有很多关于Postmessage发送消...

桌面或文件夹里单击鼠标右键新建菜单下不显示文本文档的处理方法

文本文档是以TXT为后缀名的文件,在windows桌面或文件夹中单击鼠标右键-〉新建-〉在下拉子菜单中有文本文档一项。我们经常直接在桌面或文件夹单击鼠标右键新建文本文档,正常情况下它是存在的,但是如果...

单击鼠标右键没有新建WORD\EXCEL怎么办?

单击鼠标右键没有新建WORD\EXCEL怎么办?   1、增加word的方法(新建一个文本文档,把下面这段代码复制进去,存成.reg文件,直接双击运行,然后刷新几次就会发现右键的新建功能里面多了wo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)