Dim $iMsgBoxAnswer ; Сообщение (кнопки: ОК = 1, Отмена = 2)
$iMsgBoxAnswer = MsgBox(65," ","Наведите курсор на нужный пиксель и нажмите Enter")
Select
Case $iMsgBoxAnswer = 2
MsgBox(64," ","Отменено")
Exit
EndSelect ; Конец сообщения
Local const $pos = MouseGetPos() ; Запоминаем текущщие координаты мыши в переменную (массив) $pos (переменная больше не меняет свое значение)
$color = PixelGetColor ( $pos[0], $pos[1] ) ; Запоминает цвет пикселя, ориентируясь на координаты из $pos . Далее скрипт сравнивает цвет пикселя с этим образцом. А когда находит новый цвет на запомненном ранее пикселе, то с помощью функции NEXT_PixelGetColorWhile сделать найденный цвет образцом, чтобы продолжить сравнение (поиск изменений).
Dim $iMsgBoxAnswer ; Сообщение (конечное подтверждение пользователя)
$iMsgBoxAnswer = MsgBox(52," ","Полученный результат:" & @CRLF & "" & @CRLF & "Координата X экрана: "&$pos[0]&"" & @CRLF & "Координата Y экрана: "&$pos[1]&"" & @CRLF & "Значение цвета на указанном пересечении координат: "&$color&"" & @CRLF & "" & @CRLF & "Начать проверку цвета на указанном пересечении?")
Select
Case $iMsgBoxAnswer = 7
MsgBox(64," ","Отменено")
Exit
EndSelect ; Конец сообщения (кнопки такие-же, как и в 1-ом сообщении)
While 1 ; Цикл поиска нацинается ТУТ!
$NewColorString = PixelGetColor ( $pos[0], $pos[1] ) ; Получаем цвет пикселя, ориентируясь на координаты, записанные РАНЕЕ в $pos
If $color <> $NewColorString Then ; Сравнивает, отличается ли цвет (смотри выше, где устанавливается переменная $color и что это такое)
TrayTip("Браво", "Цвет изменился!", 5, 1)
ExitLoop ; Прерывание цикла поиска как только скрипт ОДИН раз найдет изменение цвета указанного пикселя
Else
TrayTip("Увы", "Ничего не менялось...", 5, 4)
EndIF ; Конец условия
Sleep (100) ; Пауза, во избежании нагрузки (пауза указывается в миллисекундах)
Wend ; А ТУТ цикл поиска заканчивается!!!
MsgBox(48," ","Функция завершена!") ; Если цикл поиска прерывается, то ты увидешь это сообщение!
Exit ; Выход!