#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
;Opt('MouseCoordMode', 2)
Opt('PixelCoordMode', 2)
AdlibRegister('_PixelChecksum')
HotKeySet('{SPACE}', '_ChangeColor')
$i = 0
$i_Top = 118
$i_Left = 230
$i_Width = $i_Left + 5
$i_Height = $i_Top + 7
$pChecksum = DllStructCreate('double[2]')
$dColor = 4210053115 ; Read 4210053115; PixelChecksum mode CRC32
;$dColor = 2243688972 ; Green 2243688972; PixelChecksum mode CRC32
$Form1 = GUICreate("Checksum", 623, 449, -1, -1)
GUISetBkColor(0xFFFFFF)
$Label1 = GUICtrlCreateLabel("", 232, 120, 1, 3)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
AdlibUnRegister('_PixelChecksum')
Exit
EndSwitch
WEnd
Func _PixelChecksum()
$i_Checksum = PixelChecksum($i_Left, $i_Top, $i_Width, $i_Height, 1, $Form1, 1)
;ConsoleWrite(StringFormat('%s\n', $i_Checksum))
DllStructSetData($pChecksum, 1, $i_Checksum, 1)
DllStructSetData($pChecksum, 1, $dColor, 2)
If DllStructGetData($pChecksum, 1, 1) = DllStructGetData($pChecksum, 1, 2) Then
MsgBox(64, @ScriptName, 'Произошло изменение!')
GUICtrlSetBkColor($Label1, 0xFFFFFF)
$i = Not $i
EndIf
EndFunc;==>_PixelChecksum
Func _ChangeColor()
If Not $i Then
$i = Not $i
GUICtrlSetBkColor($Label1, 0xFF0000) ; Red
;GUICtrlSetBkColor($Label1, 0x00FF00) ; Green
Else
$i = Not $i
GUICtrlSetBkColor($Label1, 0xFFFFFF)
EndIf
EndFunc;==>_ChangeColor