按键精灵吧 关注:500,000贴子:1,022,979
  • 0回复贴,共1

鼠标多点依次点击源码(理论上支持无限个点)

只看楼主收藏回复

//使用方法很简单,运行后,按 Ctrl 取点, 按 Shift 执行点击.全部都有对话框提示,
//并且保存本次的坐标点,下次运行可以直接使用保存的坐标运行
//源码
Dim txt, 点击间隔, i, Shul, obj, 弹出对话框,数组
txt = "设置每个坐标点的延迟,单位毫秒," & vbcr & vbcr & "如 50" & vbcr & vbcr & "表示每个坐标点击间隔50毫秒"
点击间隔 = InputBox(txt, "设置点击间隔")
If 点击间隔 = "" Then
点击间隔 = 20
ElseIf cint(点击间隔) < 20 Then
点击间隔 = 20
End If
TracePrint "点击间隔 = " & 点击间隔
If Plugin.File.IsFileExist("D:\鼠标多点连击脚本配置.txt") = True Then
Set obj = CreateObject("WScript.Shell")
txt = "是否读取保存的坐标" & vbcr & vbcr & "是 : 确定 ,用保存的坐标直接运行 " & vbcr & vbcr & "否 : 取消 , 重新获取坐标点 "
弹出对话框 = Cint(obj.Popup(txt, 0, "是否读取", 1))
Set obj = Nothing
If 弹出对话框 = 1 Then
Call 读取配置文件并保存坐标到数组()
Call 鼠标点击坐标()
Else
Call Plugin.File.DeleteFile("D:\鼠标多点连击脚本配置.txt")
Rem 手动获得鼠标坐标20
i = 0
Do
Rem 不正确按键码重新获取23
txt = "设置第" & i + 1 & "个点的坐标" & vbcr & vbcr & "鼠标移动到目标后按Ctrl确定"& vbcr & vbcr &"如果设置结束,请按Shitf后运行多点点击"
MessageBox txt
key = WaitKey()
If key = 17 Then '按Ctrl
Redim Preserve x(i), y(i)
GetCursorPos x(i), y(i)
TracePrint "第 " & i + 1 & " 坐标= " & x(i) & " " & y(i)
Call Plugin.File.WriteFileEx("D:\鼠标多点连击脚本配置.txt", x(i) & "," & y(i))
ElseIf key = 16 and i > 0 Then '按Shift
Exit Do
Else
Goto 不正确按键码重新获取23
End If
i = i + 1
Delay 1
Loop
Call 鼠标点击坐标()
End If
Else
Goto 手动获得鼠标坐标20
End If
Sub 读取配置文件并保存坐标到数组()
数组 = Split(Plugin.File.ReadFileEx("D:\鼠标多点连击脚本配置.txt"), "|")
Shul = UBound(数组)
Redim x(Shul - 1), y(Shul - 1)
For i = 0 To Shul - 1
坐标 = Split(数组(i), ",")
TracePrint 坐标(0) & "," & 坐标(1)
x(i) = 坐标(0) : y(i) = 坐标(1)
Next
End Sub
Sub 鼠标点击坐标()
Shul = UBound(x)
Do
For i = 0 To Shul
MoveTo x(i), y(i)
//TracePrint x(i)&" | "& y(i)
Delay 点击间隔
LeftDown 1
Delay 1
LeftUp 1
Delay 1
Next
Delay 1
Loop
End Sub
Sub OnScriptExit()
LeftUp 1
End Sub


IP属地:浙江1楼2020-03-19 21:32回复