在VB中用什么代码可以代替鼠标的左键事件呀?

解决方案 »

  1.   

    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
    MsgBox "you click the left button"
    End If
    End Sub
      

  2.   

    使用api函数mouse_event模拟鼠标事件
    【VB声明】
      Private Declare Sub mouse_event Lib "user32" Alias "mouse_event" (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函数可取得这个值。可用的值取决于特定的驱动程序
      

  3.   

    也可以用api函数sendmessage针对具体的对象发送消息,这需要你得到目标的句柄,相对麻烦,还是上面说得比较直接,不过需要你去计算鼠标的位置