Bom dia Gabrielquaglio.
Seja bem-vindo ao fórum da comunidade do AutoHotkey.
Apesar de ter dito que sim, seu código não está obtendo a cor na posição do mouse. A linha
If (MouseGetPos, 949, 161 = 0xFFFFFF) não é possível, pois comandos não podem ser chamados de dentro de condicionais e também não retornam valores como se fossem funções. Ademais o comando
MouseGetPos não retorna código de cor, retorna apenas a posição do mouse, então você precisa chamar depois dele o
PixelGetColor para isso.
Code: Select all
MouseGetPos, PosX, PosY
PixelGetColor, COR_ENCONTRADA, %PosX%, %PosY%
Agora vamos à parte que você queria saber: supondo que rodando o código acima você encontrou a cor na posição do mouse e que ela está na variável COR_ENCONTRADA, então como descobrir se essa cor é "branco"?
Simples, a cor branca pura é aquela onde todos os canais de cor estão em seus valores máximos, pois no sistema aditivo de cores, o branco é a unão de todas as cores. Logo, ao código do branco em hexadecimal é
0xFFFFFF (pois FF é igual ao valor máximo de um byte, ou seja 255, em base hexadecimal).
PORÉM tome cuidado que muitas cores "brancas" na verdade são diferentes "tons de branco", ou seja, cores com códigos próximos a 0xFFFFFF também podem ser descritas de maneira subjetiva como "branco". Portanto, se você quiser encontrar um "branco de qualquer tom possível", você terá que testar os canais de cores dentro de uma margem de valor máximo e mínimo atribuída por você. Um exemplo é aceitar "até 5" variações de tom em cada canal, situação onde o valor pode ser qualquer coisa entre 0xFBFBFB e 0xFFFFF e ainda sim ser considerado "branco".