If statement AHK if语句未正确比较变量

If statement AHK if语句未正确比较变量,if-statement,autohotkey,If Statement,Autohotkey,这就是我想做的 步骤1:获取鼠标位置的颜色 第二步进入循环 步骤3:获取新鼠标位置的第二种颜色 第4步比较两种颜色 错误=无论颜色1或颜色2的输出是什么,下面的脚本都声明为true !^b:: MouseGetPos, MouseX, MouseY PixelGetColor, color, %MouseX%, %MouseY% sleep, 5000 loop { MouseGetPos, MouseX, MouseY PixelGetColor, color2, %Mouse

这就是我想做的

步骤1:获取鼠标位置的颜色

第二步进入循环

步骤3:获取新鼠标位置的第二种颜色

第4步比较两种颜色

错误=无论颜色1或颜色2的输出是什么,下面的脚本都声明为true

!^b::
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%
sleep, 5000
loop
{
    MouseGetPos, MouseX, MouseY
    PixelGetColor, color2, %MouseX%, %MouseY%   
    if (%color%=%color2%)
    {
        MsgBox, it matchs %color% = %color2%
        sleep,5000
    }
    else
    {
        MsgBox, It dosnt match %color% != %color2%
        sleep, 5000
    }

}   

您的问题在于
if(%color%=%color2%)

一旦像这样声明了
if
语句,就不需要用
%var%
括起变量。相反,您可以使用
if(color==color2)
替换该行

完整代码:

!^b::
MouseGetPos, MouseX, MouseY
PixelGetColor, color, %MouseX%, %MouseY%
sleep, 5000
loop
{
    MouseGetPos, MouseX, MouseY
    PixelGetColor, color2, %MouseX%, %MouseY%   
    if (color==color2)
    {
        MsgBox, it matchs %color% = %color2%
        sleep,5000
    }
    else
    {
        MsgBox, It dosnt match %color% != %color2%
        sleep, 5000
    }

}

你太棒了,谢谢你。