想在网页上实现依次点击相同距离的点,可以用findtext当然直接弄个连点器更加简单,另外偶尔想量一下两个点之间的像素距离,为了这么个小功能下载软件就很麻烦不如自己用ahk实现
简单做了一个带gui的
简单展示一下效果图
可以实现自定义距离的自定义次数的点击,可以自己修改间隔时间,也可以距离设为零就是同一个点点击
不限于左键,可以中建和右键,当然简单的修改也可以实现连续按键,我个人暂时没有需求后续可以加入
可以选择相对窗口和相对屏幕两种方式
#q::
Gui +AlwaysOnTop -MaximizeBox +Resize
Gui add, DropDownList,w60 Section v点击按键 gsubmit, Left||Middle|Right
Gui add, DropDownList,w60 x+5 v相对坐标 gsubmit, 窗口||屏幕
Gui Add, Text,ys-4,循环次数
Gui Add, Edit,ys-4 v循环次数 gsubmit,5
Gui Add, Text,ys-4,横轴
Gui Add, Edit,ys-4 v横轴 gsubmit,0
Gui Add, Text,ys-4,纵轴
Gui Add, Edit,ys-4 v纵轴 gsubmit,0
Gui Add, Text,ys-4,间隔时间
Gui Add, Edit,ys-4 v间隔时间 gsubmit,0
Gui add, button,ys-4 g简单尺子,简单尺子
Gui add, button,ys-4 g连点,连点
Gui Show, NoActivate, 距离连点器
Return
ClickPosition(posX,posY,ClickCount:=1,Speed:=0,CoordMode:="Screen",Return:=true){
;若使用相對模式
if (CoordMode="Relative"){
CoordMode,Mouse,Screen
MouseGetPos, posX_i, posY_i ;儲存原來的滑鼠位置
;根據點擊次數是否為零來使用MouseClick或MouseMove
if %ClickCount%{
MouseClick,,%posX%,%posY%,%ClickCount%,%Speed%,,R ;點擊相對位置
}else{
MouseMove, %posX%, %posY%,%Speed%
}
;若使用其他模式
}else{
CoordMode,Mouse,%CoordMode%
MouseGetPos, posX_i, posY_i ;儲存原來的滑鼠位置
;根據點擊次數是否為零來使用MouseClick或MouseMove
if %ClickCount%{
MouseClick,,%posX%,%posY%,%ClickCount%,%Speed%
}else{
MouseMove, %posX%, %posY%,%Speed%
}
}
;是否點擊後返回
if %Return%{
MouseMove, %posX_i%, %posY_i%,%Speed%
}
return
}
submit:
Gui, submit, NoHide
return
连点:
ToolTip,等待右键点击开始连点
if (相对坐标:="窗口"){
KeyWait, RButton, D
MouseGetPos,x,y
loop %循环次数%{
click,%x%,%y%,%点击按键%
y:=y+纵轴 , x:=x+横轴
Sleep %间隔时间%
}
}
if (相对坐标:="屏幕"){
KeyWait, RButton, D
MouseGetPos, xScreen, yScreen
loop %循环次数%{
ClickPosition(%xScreen%,%yScreen%, 1, 0, "Screen", true)
click,%xScreen%,%yScreen%,%点击按键%
yScreen:=yScreen+纵轴 , xScreen:=xScreen+横轴
Sleep %间隔时间%
}
}
ToolTip
Return
;测量两点之间的距离,就是简单的尺子
简单尺子:
ToolTip,等待右键点击开始测量第一个点
KeyWait, RButton, D
MouseGetPos,x1,y1
ToolTip,"第一个点横坐标为" x1 "纵坐标为" y1 "移动到下一个点松开右键"
KeyWait, RButton, a
MouseGetPos,x2,y2
横轴差额:=x2-x1 , 纵轴差额:=y2-y1
MsgBox,
(
第一个点横坐标为 %x1% 纵坐标为 %y1%
第二个点横坐标为 %x2% 纵坐标为 %y2%
提示,向右横坐标变大,向下纵坐标变大
横轴的差额为 %横轴差额%
纵轴的差额为 %纵轴差额%
)
ToolTip
Return