Я использовал следующую функцию:
IsChecked(Check_box_name)
{
ControlGetPos,X,Y,W,H,%Check_box_name%
Loop % H - 7
{
CY := Y + 1 + A_index
Loop % H - 7
{
CX := X + 1 + A_index
PixelGetColor,color,%CX%,%CY%,RGB
R := (color >> 16) & 0xFF
G := (color >> 8) & 0xFF
B := color & 0xFF
If (Abs(R - B) < 10) && (Abs(R - G) > 10)
{
return true
}
}
}
return false
}
Я использую высоту (H) в качестве ширины флажка.
Я вычитаю 1 пиксель за границу и еще 3 пикселя за границу.
Следовательно: H - (1 + 2 * 3) = H - 7
Я также предполагаю, что непроверенный цвет фона - это оттенок серого. И что флажок в оттенке зеленого.
Так что, если какое-либо из этих предположений неверно, оно не будет работать.