Autokey鼠标点击脚本双显示器下定位副屏指定窗口点击问题咨询
解决方案
你的思路完全可行,通过识别窗口标题先激活目标窗口、使用窗口相对坐标点击,就能彻底解决跨屏点击定位偏移的问题。
操作步骤
- 第一步:获取窗口B的唯一标识
打开AutoHotkey自带的Window Spy工具,将鼠标悬浮在窗口B上,记录工具显示的窗口标题或者窗口类名,后续用这个信息匹配目标窗口。 - 第二步:替换原有脚本逻辑
用下面的脚本替换你原来的代码,按照注释修改为你自己的窗口标识、坐标参数即可:
+z:: ; 保存当前鼠标位置和活跃窗口,操作完成后自动切回不影响原有操作 MouseGetPos, originalX, originalY WinGet, originalWin, ID, A ; 激活目标窗口B,将此处替换为你用Window Spy查到的实际窗口标题 WinActivate, 窗口B的实际标题 WinWaitActive, 窗口B的实际标题, , 1 ; 1秒内未找到目标窗口直接退出,避免报错 if ErrorLevel { return } ; 设置坐标模式为窗口客户端区相对,坐标基准为窗口B左上角 CoordMode, Mouse, Client ; 执行点击,此处坐标为相对于窗口B左上角的数值,可通过Window Spy实测校准 Click, 630, 74, 1 ; 切回原窗口和鼠标位置 WinActivate, ahk_id %originalWin% MouseMove, originalX, originalY return
可选简化方案
如果你不需要保留原操作窗口的状态,也可以用绝对屏幕坐标适配双屏布局:假设主屏分辨率为1920*1080且副屏位于主屏右侧,副屏的X轴起始坐标就是1920,目标点的绝对X坐标为1920+630=2550,脚本可以简化为:
+z:: CoordMode, Mouse, Screen Click, 2550, 74, 1 return
该方案无需切换窗口,但窗口位置变动后需要重新调整坐标,稳定性弱于窗口匹配方案。
内容的提问来源于stack exchange,提问作者Ghostwriter84
相关产品推荐
相关产品推荐

