#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt('PixelCoordMode', 2)
HotKeySet('{SPACE}', '_ChangeColor')
Global $iIndexColor, $i_Top = 118, $i_Left = 230, $i_Width = $i_Left + 5, $i_Height = $i_Top + 7, $iColor, $hGui, $iLbl, $iCountChange
$hGui = GUICreate('Checksum', 623, 449)
GUISetBkColor(0xFFFFFF)
$iLbl = GUICtrlCreateLabel('', 232, 120, 3, 3)
GUICtrlSetBkColor(-1, 0xFF0000)
GUISetState()
GUIRegisterMsg($WM_PAINT, "_WM_PAINT")
ConsoleWrite('Can press {SPACE}' & @LF)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
Exit
Func _PixelChecksum()
Local $i_Checksum = PixelChecksum($i_Left, $i_Top, $i_Width, $i_Height, 1, $hGui, 1)
If $iColor <> $i_Checksum Then
$iColor = $i_Checksum
$iCountChange += 1
ConsoleWrite($iCountChange & ' Произошло изменение!' & @LF)
EndIf
EndFunc
Func _ChangeColor()
Local $a_Color[2] = [0xFF0000, 0x000000]
$iIndexColor = Not $iIndexColor
GUICtrlSetBkColor($iLbl, $a_Color[$iIndexColor])
EndFunc
Func _WM_PAINT($hWnd, $Msg, $wParam, $lParam)
_PixelChecksum()
Return $GUI_RUNDEFMSG
EndFunc