麻烦各位帮我改一下,谢谢

BCVBBVB 2010-05-23 10:45:28
这个代码只能不断的单击左键,我想一直连续不断的让它点左右键 时间间隔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

谢谢!
...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaboyzyq 2010-05-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bcvbbvb 的回复:]

谢谢楼上的朋友顺便在问下
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Timer2_Timer()
If GetAsyncKeyState(vbKeyF12) Then Timer1.Enabled = False
End Sub
……
[/Quote]
加个timer3,照着你上面的代码画个瓢。
BCVBBVB 2010-05-23
  • 打赏
  • 举报
回复
谢谢楼上的朋友顺便在问下
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub Timer2_Timer()
If GetAsyncKeyState(vbKeyF12) Then Timer1.Enabled = False
End Sub
这个是热键F12就停止的命令
我在想弄个F11开始的命令,帮帮我,谢谢
贝隆 2010-05-23
  • 打赏
  • 举报
回复

Option Explicit

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 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 Integer

Private Sub Command1_Click()
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub

Private 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



7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧