罗技驱动实现鼠标移动、点击(GHUB\LGS通用)

您所在的位置:网站首页 鼠标点击屏幕没用 罗技驱动实现鼠标移动、点击(GHUB\LGS通用)

罗技驱动实现鼠标移动、点击(GHUB\LGS通用)

2024-07-10 07:43| 来源: 网络整理| 查看: 265

本文会介绍:1. 罗技驱动里面鼠标移动、点击的基础公式;2. 获取屏幕坐标的两种方法;3. 如何实现鼠标的移动、点击这两种简单的操作;4. 优化;

基础公式

GetMousePosition()

-- 获取当前绝对坐标

MoveMouseTo()

-- 将光标移动到指定的绝对坐标

PressAndReleaseMouseButton(1)

-- 点击鼠标左键

获取坐标的两种方法

方法一:直接利用驱动获得绝对坐标

以上可以实现当大写键打开时,点击鼠标左键,获得当前鼠标绝对坐标并且显示在驱动下方的控制台中,获取完后关闭大写键,不会有多余坐标。

若看不到控制台:

GHUB点击上方“浏览”,勾选“控制台”就能看到;LGS点击上方“查看”,勾选“输出”

方法二:利用截图获得精确到像素点的绝对坐标

罗技有自己的一套坐标,任何电脑屏幕左上角的坐标,在罗技看来都是(0,0),右下角坐标都是(65535,65535),若不考虑四舍五入的情况,屏幕正中间的坐标就是(32767,32767)

这也是为什么你用方法一获得的坐标可以有5位数的原因。

用qq或者微信截图,截取你的整个屏幕,保存为图片,打开方式选择系统自带的“画图”,在底部偏左位置,你可以看到图片为1920*1080像素,实际上就是你自己的电脑分辨率,随着光标在图片上移动,左下角的像素会一直在变化,因为图片可以放大,所以可以精确到像素点。

假设我当前的光标在屏幕中间,为(960,540)960 / 1920 * 65535 = 32767

540 / 1080 * 65535 = 32767     不要小数点

以此类推,你屏幕上每个像素点对应到罗技的绝对坐标都可以计算出来

实现移动与点击

以上实现了当鼠标侧键4按下后,移动到四个角并且点击

以此类推,坐标与延迟都可以自己修改

但是Sleep()这个函数,虽然明面上说的是单位是毫秒

但是在win10 1909 以后的系统版本,Sleep(1) 实际上是15.6ms(出自camend001)

优化

如果需要点击的坐标很多的话,像这样把移动与点击写进一个子程序,后续就会很方便,不用一直MoveMouseTo()、PressAndReleaseMouseButton()

也不用取坐标再记下来,用截图看坐标,直接填写就OK

不知道能不能复制,或者复制了能不能用,不能的话建议自己对照着敲一遍,就当练习了注意大小写、英文标点符号,-- 是注释

如果这篇文章能够帮助到你,期待你的点赞与评论。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3