ahk做一个一个鼠标连点器加一个简单的尺子

想在网页上实现依次点击相同距离的点,可以用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

给TA捐赠
共{{data.count}}人
人已捐赠
代码示例社区推荐

【第998关】用AHK实现杨辉三角

2022-6-12 19:02:03

AHKV1

RossettaCode —— 百门问题

2022-6-14 17:22:03

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索