Меняются ли относительные координаты окна в зависимости от разрешения?
У моих коллег, похоже, много проблем с использованием моих скриптов AHK, и похоже, что щелчки мышью не щелкают по нужным позициям в активных окнах.
Обе стороны здесь используют Windows 7.
Их разрешение 1600 х 900, где я использую 1280 х 1024.
Я думал, что относительное положение данного окна будет другим, поэтому я попросил своих ИТ-специалистов получить мониторы 16:9 для компьютера рядом с моим. К сожалению, мониторы не поддерживают разрешение 1600 x 900, и когда я заметил, что не проверял координаты на этих мониторах, потому что это было не правильное разрешение.
Я искал другой способ преобразовать координаты в это разрешение и нашел поток, который говорит, что преобразование моих координат так же просто, как:
x1 * 1600/1280 = x2
y1 * 900/1024 = y2
Я применил эту формулу к координатам команды MouseClick и проверил ее на разных разрешениях, и щелчки каждый раз переходят в неправильную позицию.
Тем не менее, обычные координаты из моего начального разрешения все еще работают.
Я больше не уверен, являются ли координаты проблемой, поэтому я здесь и спрашиваю.
Спасибо.
0 ответов
Нет. На систему координат или исходную точку не влияет разрешение экрана, равно как и координаты самого окна.
Однако размер или содержимое окна может изменяться в зависимости от любого количества факторов, включая разрешение экрана. Это зависит от приложения.
Window
Координаты (по умолчанию для большинства команд в AutoHotkey v1) зависят от текущей системной темы и других параметров, которые влияют на размер строки заголовка и границ окна.
Client
координаты (по умолчанию для AutoHotkey v2) меньше зависят от различий между системами, поэтому рекомендуется Window
координаты.
Независимо от режима координат, любые значения, которые вы жестко запрограммируете в скрипте, должны будут учитывать любые изменения в макете, которые могут произойти в приложении. Опять же, эти изменения зависят от приложения.
Если в системе несколько мониторов, и все они не имеют одинакового DPI (масштабирования), система "лжет" о координатах объектов на мониторах, отличных от основного, если только программа, получающая координаты, не поддерживает DPI каждого монитора. Это может вызвать проблемы с AutoHotkey, который не учитывает DPI каждого монитора.