繁体   English   中英

Autohotkey Mousemove 错误的显示器

[英]Autohotkey Mousemove Wrong Monitor

我正在使用 mousegetpos 来获取当前鼠标 position。 我点击其他地方。 然后我尝试用mousemove恢复原来的位置。 鼠标移动到不同的显示器。 我尝试了替代方法 dllcall,但没有成功。 如何将鼠标移回原来的显示器?

如果您发布代码更容易提供帮助 - 然后人们可以看到您哪里出错了。

按下Ctrl - T热键时,这对我来说很好:

CoordMode, Mouse, Screen

^t::
MouseGetPos, x, y
; Do Stuff Here.
MouseMove, x, y
return

CoordMode, Mouse, Screen行设置相对于整个屏幕的坐标,而不是活动的 window。 我已经在我的多显示器设置上对此进行了测试,并且鼠标每次都会回到原始位置,即使是跨显示器也是如此。 让我知道它是否不适合您。

此外,为了使事情更顺畅,您可以在移动鼠标之前将鼠标速度设置为“0”:

SetDefaultMouseSpeed, 0

这使得鼠标看起来会立即移动,这在大多数脚本中看起来更干净一些。

我可以确认 Gary 的答案非常适合其他有类似问题的人。 谢谢,加里!

我自己在使用 Breakaway Audio Enhancer 时遇到了这样的问题......

对于使用或知道 Breakaway 的任何人,您必须双击工具栏(在任务栏中)将其静音。 Breakaway 与声音管道的工作方式其他标准 AHK 静音脚本将无法正常工作,因此将鼠标移动到工具栏并双击实际上是唯一的静音方法。 我希望 Caps Lock 使音频静音(或取消静音),并且最好让鼠标返回到原来的位置。

在 Gary 的帖子之前,我试图让它与多台显示器一起工作时遇到了无数问题,所以这是我为其他有类似问题的人提供的解决方案:

Capslock::
    BlockInput On
    CoordMode, Mouse, Screen
    MouseGetPos, xpos, ypos
    MouseClick, left, 42, 965, 2 ;change the co-ordinates to match your system
    MouseMove, xpos, ypos
    SetDefaultMouseSpeed, 0
    BlockInput Off
Return

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM