基础公式
GetMousePosition
-- 获取当前绝对坐标
MoveMouseTo
-- 将光标移动到指定的绝对坐标
PressAndReleaseMouseButton(1)
-- 点击鼠标左键
获取坐标的两种方法
方法一:直接利用驱动获得绝对坐标
以上可以实现当大写键打开时,点击鼠标左键,获得当前鼠标绝对坐标并且显示在驱动下方的控制台中,获取完后关闭大写键,不会有多余坐标。
若看不到控制台:
GHUB点击上方“浏览”,勾选“控制台”就能看到;LGS点击上方“查看”,勾选“输出”
方法二:利用截图获得精确到像素点的绝对坐标
罗技有自己的一套坐标,任何电脑屏幕左上角的坐标,在罗技看来都是(0,0),右下角坐标都是(65535,65535),若不考虑四舍五入的情况,屏幕正中间的坐标就是(32767,32767)
这也是为什么你用方法一获得的坐标可以有5位数的原因。
用qq或者微信截图,截取你的整个屏幕,保存为图片,打开方式选择系统自带的“画图”,在底部偏左位置,你可以看到图片为1920*1080像素,实际上就是你自己的电脑分辨率,随着光标在图片上移动,左下角的像素会一直在变化,因为图片可以放大,所以可以精确到像素点。
假设我当前的光标在屏幕中间,为(960,540)
960 / 1920 * 65535 = 32767
以此类推,你屏幕上每个像素点对应到罗技的绝对坐标都可以计算出来
实现移动与点击
以上实现了当鼠标侧键4按下后,移动到四个角并且点击
以此类推,坐标与延迟都可以自己修改
但是Sleep这个函数,虽然明面上说的是单位是毫秒
但是在win10 1909 以后的系统版本,Sleep(1) 实际上是15.6ms(出自camend001)
优化
如果需要点击的坐标很多的话,像这样把移动与点击写进一个子程序,后续就会很方便,不用一直MoveMouseTo、PressAndReleaseMouseButton
也不用取坐标再记下来,用截图看坐标,直接填写就OK
不知道能不能复制,或者复制了能不能用,不能的话建议自己对照着敲一遍,就当练习了
注意大小写、英文标点符号,-- 是注释
如果这篇文章能够帮助到你,期待你的点赞与评论。