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

' -------------------------------------------
'
       模拟鼠标的左键单击和右键单击
' -------------------------------------------
'
程序说明:
'
本例采用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,  0 0 0 0

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

你可能感兴趣的:(vb.net)