AHK(autohotkey) 中是否有仅移动鼠标 Y 轴的功能?

问题描述

所以我是 AHK 的新手,在登陆这里之前我用谷歌搜索了很多,但我找不到任何可以回答我的问题的内容。我想制作一个仅从鼠标移动 Y 轴但相对于鼠标位置的脚本。例如,如果我的屏幕中心是 683,384,我的鼠标在 630 和 389,我希望 X 轴保持不变,但 Y 轴回到中间位置

这就是我用油漆绘制的意思。红色是中心黑色是 X 和 Y 轴黄色是鼠标,蓝色是所需的运动

img

如果它总是在同一个位置,那会很容易,但我希望它能够到达中心(相对于鼠标),无论它是向上还是向下,如果你知道的话任何解决方案请帮助我。感谢您花时间阅读本文

解决方法

使用 MouseGetPos(docs)MouseMove(docs) 非常容易。
首先获取当前的 X 坐标,然后将光标移动到该 X 坐标以及屏幕高度一半的 Y 坐标。(A_ScreenHeight(docs) 可以使用)

还要记住指定所需的 CoordMode,在这种情况下将是 Screen,而不是默认的活动窗口。


F1 作为热键的示例。

CoordMode,Mouse,Screen

F1::
    MouseGetPos,X
    MouseMove,% X,% A_ScreenHeight / 2,0
return