Autohotkey PixelSearch-即使颜色在600 x 800中未显示,也会发出警报。我做错了什么?
当我运行下面的脚本时,即使ffff00没有显示在600 x 800的正方形中,警报也会响起。有没有什么不正确的地方Autohotkey PixelSearch-即使颜色在600 x 800中未显示,也会发出警报。我做错了什么?,autohotkey,Autohotkey,当我运行下面的脚本时,即使ffff00没有显示在600 x 800的正方形中,警报也会响起。有没有什么不正确的地方 #NoEnv #SingleInstance,Force CoordMode,Pixel,Screen found=0 Gui,Add,Button,GSILENCE,Silence colors=ffff00 Loop { Loop,Parse,colors,`, { PixelSearch, OutputVarX, OutputVarY, 600, 600, 800, 80
#NoEnv
#SingleInstance,Force
CoordMode,Pixel,Screen
found=0
Gui,Add,Button,GSILENCE,Silence
colors=ffff00
Loop
{
Loop,Parse,colors,`,
{
PixelSearch, OutputVarX, OutputVarY, 600, 600, 800, 800, ffff00, Fast RGB
If (ErrorLevel=0)
{
Gui,Show
found=1
Loop
{
SoundPlay,*0
If found=0
Break
Sleep,1000
}
}
Sleep,10000
Send,{F5}
}
}
SILENCE:
found=0
Gui,Hide
Return
当我运行未经编辑的代码时,我遇到了与您相同的问题。代码中的问题似乎出现在
PixelSearch
行中。实际上有两个问题:
ColorID
必须是十六进制值,
在您的情况下,这意味着您必须在
当前值。正如您当前看到的,AHK正在查看名为“ffff00”的变量的值,该变量没有指定任何值。我不知道为什么,但很明显,这与一切都匹配(而不是像我预期的那样,什么都不匹配)快速RGB
之间。虽然我不确定“快速”部分是否真的起作用,“RGB”部分肯定不起作用,因为它与青色而不是黄色匹配PixelSearch , OutputVarX , OutputVarY , 600 , 600 , 800 , 800 , 0xffff00 ,, Fast RGB
请注意,如果要循环使用一系列颜色,则需要将它们存储为0x个十六进制值(既可以是现有的分隔字符串,也可以是实际十六进制值的数组——AHK看起来比较宽松) 谢谢你抽出时间来帮忙。如何将此线程标记为已解决?没问题!我的答案旁边有一个复选标记,你可以点击。