Почему позиция мыши всегда принимает абсолютное положение, а цвет в команде позиции всегда возвращает относительный цвет окна?

Я хочу взять цвет окна в некоторой позиции, я пытался использовать как абсолютное положение, так и относительное положение мыши (когда появляется диалоговое окно с вопросом), и с обоими аргументами относительного положения цвета, истинным и ложным, но с каждое условие всегда принимает абсолютное положение мыши и возвращает цвет относительного окна.

 color position 762⫽485 relative false
 dialog ♥result

Поскольку окно g1ant белое, оно возвращает FFFFFF, но мой рабочий стол красный.


person Himani Varshney    schedule 02.12.2019    source источник


Ответы (1)


Как вы заметили, робот приобретает цвет окна G1ANT.Robot, а не рабочего стола. Согласно руководству:

Команда цвета извлекает значения красного, зеленого и синего (RGB) цвета пикселя в указанных координатах.

А об аргументе относительного:

position требуется значение, представляющее пиксельные координаты, а relative определяет, относятся ли эти координаты к верхнему левому углу активного окна (по умолчанию) или абсолютны на экране (также измеряются от его верхнего левого угла).

Таким образом, позиция absolute означает, что где бы ни было окно, цвет будет определяться относительно левого верхнего угла экрана. relative позиция означает, что цвет будет получен относительно левого верхнего угла активного окна.

В вашем примере не имеет значения, является ли ваш рабочий стол красным, потому что, как я предполагаю, G1ANT.Robot фокусируется, когда вы запускаете свой скрипт.

Вы также можете:

  1. Используйте ярлык WIN+D, который свернет все открытые окна (показать рабочий стол):
color position 762⫽485 relative false
keyboard ⋘WIN+D⋙
dialog ♥result
  1. Оставьте скрипт как есть, но переместите окно G1ANT.Robot в какое-нибудь положение, где оно не закрывает 762⫽485 позицию, из которой вы хотите получить цвет.
person Wiktoria Prusik    schedule 02.12.2019