Windows 7 窗口的相对坐标是否根据分辨率而变化?

Windows 7 窗口的相对坐标是否根据分辨率而变化?,windows-7,autohotkey,screen-resolution,active-window,Windows 7,Autohotkey,Screen Resolution,Active Window,我的同事们似乎在使用我的AHK脚本时遇到了很多问题,而且听起来鼠标点击器在活动窗口中没有点击正确的位置 这里的双方都在使用Windows7 他们的分辨率是1600 x 900,我用的是1280 x 1024 我认为相对于给定窗口的相对位置会有所不同,所以我让我的IT人员今天为我旁边的计算机配备了16:9的显示器。不幸的是,显示器不支持1600 x 900分辨率,当我注意到我没有检查这些显示器上的坐标时,因为分辨率不正确 我四处寻找将坐标转换为该分辨率的另一种方法,发现一个线程说转换坐标非常简单:

我的同事们似乎在使用我的AHK脚本时遇到了很多问题,而且听起来鼠标点击器在活动窗口中没有点击正确的位置

这里的双方都在使用Windows7

他们的分辨率是1600 x 900,我用的是1280 x 1024

我认为相对于给定窗口的相对位置会有所不同,所以我让我的IT人员今天为我旁边的计算机配备了16:9的显示器。不幸的是,显示器不支持1600 x 900分辨率,当我注意到我没有检查这些显示器上的坐标时,因为分辨率不正确

我四处寻找将坐标转换为该分辨率的另一种方法,发现一个线程说转换坐标非常简单:

x1 * 1600/1280 = x2
y1 * 900/1024 = y2
我将这个公式应用于MouseClick命令坐标,并在不同的分辨率下对其进行了测试,每次单击都会转到错误的位置

但是,从我的起始分辨率开始的规则坐标仍然有效

我不确定坐标是否是问题所在,这就是为什么我在这里问这个问题


谢谢。

否。坐标系或原点不受屏幕分辨率的影响,窗口本身的坐标也不受影响

但是,窗口的大小或内容可能会根据任意数量的因素(包括屏幕分辨率)而变化。这取决于应用程序

窗口
坐标(AutoHotkey v1中大多数命令的默认坐标)取决于当前系统主题和影响窗口标题栏和边框大小的其他设置

客户端
坐标(自动热键v2的默认值)受系统间差异的影响较小,因此建议在
窗口
坐标上使用

无论采用何种协调模式,在脚本中硬编码的任何值都需要考虑应用程序中可能发生的布局更改。同样,这些更改取决于应用程序


如果系统有多个监视器,并且它们并非都具有相同的DPI(缩放),则系统“撒谎”监视器上对象的坐标,而不是主监视器,除非检索坐标的程序是每个监视器DPI感知的。这可能会导致自动热键出现问题,因为每个监视器的DPI都不知道自动热键