为什么鼠标的位置总是取绝对位置和位置命令的颜色总是return window 的相对颜色?

Why position of mouse always take absolute position and colour at position command always return relative colour of window?

我想在某个位置取window的颜色,我试过同时使用鼠标的绝对位置和相对位置(弹出问题对话框时)以及两个参数颜色位置相对 true 和 false 但在每种情况下它总是采用鼠标的绝对位置和 return 相对 window.

的颜色
 color position 762⫽485 relative false
 dialog ♥result

因为 g1ant window 是白色的 returns FFFFFF 但我的桌面是红色的。

如您所见,机器人正在获取 G1ANT.Robot window 的颜色,而不是桌面的颜色。根据 manual:

The color command retrieves the red, green and blue (RGB) color values of the pixel at the specified coordinates

关于 relative 论点:

position needs a value representing pixel coordinates and relative defines if these coordinates are relative to the upper left corner of the active window (by default) or absolute on the screen (also measured from its upper left corner).

所以absolute位置意味着无论window在哪里,颜色都会相对于屏幕的左上角。 relative 位置表示颜色将相对于活动 window.

的左上角获取

在您的示例中,桌面是否为红色无关紧要,因为我认为,G1ANT.Robot 在您启动脚本时处于焦点状态。

您可以:

  1. 使用 WIN+D 快捷方式,这将最小化所有打开的 windows(显示桌面):
color position 762⫽485 relative false
keyboard ⋘WIN+D⋙
dialog ♥result
  1. 保留脚本原样,但将 G1ANT.Robot window 移动到某个位置,使其不覆盖要从中获取颜色的 762⫽485 位置。