这个代码只能不断的单击左键,我想一直连续不断的让它点左右键 时间间隔0秒Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long 
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) 
Private Const MOUSEEVENTF_LEFTDOWN = &H2 
Private Const MOUSEEVENTF_LEFTUP = &H4 Private Sub Command1_Click() 
Timer1.Interval = 1000 
Timer1.Enabled = True End Sub Private Sub Timer1_Timer() 
Dim a As Integer 
Static b As Integer 
' a = Val(Text1.Text) 
' b = 0 
' Do Until b = a 
b = b + 1 
SetCursorPos 400, 400 
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 
Print "click " & b 
' Loop 
If b >= Val(Text1.Text) Then Timer1.Enabled = False: b = 0 
End Sub 谢谢! 

解决方案 »

  1.   


    Option ExplicitPrivate Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
    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)
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Private Const MOUSEEVENTF_LEFTDOWN = &H2
    Private Const MOUSEEVENTF_LEFTUP = &H4
    Private Const MOUSEEVENTF_MIDDLEDOWN = &H20
    Private Const MOUSEEVENTF_MIDDLEUP = &H40
    Private Const MOUSEEVENTF_RIGHTDOWN = &H8
    Private Const MOUSEEVENTF_RIGHTUP = &H10
    Dim b As IntegerPrivate Sub Command1_Click()
        Timer1.Interval = 1000
        Timer1.Enabled = True
    End SubPrivate Sub Form_Load()
        Text1.Text = 10
    End Sub
    Private Sub Timer1_Timer()
        Dim a As Integer
        ' a = Val(Text1.Text)
        ' b = 0
        ' Do Until b = a
        b = b + 1
        SetCursorPos 400, 400
        mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
        mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
        Sleep 100
        mouse_event MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0
        mouse_event MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
        
        ' Loop
        If b >= Val(Text1.Text) Then
            Timer1.Enabled = False
            b = 0
        End If
    End Sub
      

  2.   

    谢谢楼上的朋友顺便在问下
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As IntegerPrivate Sub Timer2_Timer()
    If GetAsyncKeyState(vbKeyF12) Then Timer1.Enabled = False
    End Sub
    这个是热键F12就停止的命令
    我在想弄个F11开始的命令,帮帮我,谢谢
      

  3.   

    加个timer3,照着你上面的代码画个瓢。