Function Reference


PixelChecksum

Generates a checksum for a region of pixels.

PixelChecksum ( left, top, right, bottom [, step = 1 [, hwnd [, mode = 0]]] )

Parameters

left left coordinate of rectangle.
top top coordinate of rectangle.
right right coordinate of rectangle.
bottom bottom coordinate of rectangle.
step [optional] Instead of checksumming each pixel use a value larger than 1 to skip pixels (for speed). E.g. A value of 2 will only check every other pixel. Default is 1. It is not recommended to use a step value greater than 1.
hwnd [optional] Window handle to be used. Default is the desktop window. See remark.
mode [optional] default 0 ADLER checksum, 1 CRC32 Checksum.

Return Value

Success: the checksum value of the region.
Failure: 0.

Remarks

A checksum only allows you to see if "something" has changed in a region - it does not tell you exactly what has changed.

CRC32 checksum is a little slower than ADLER but detects better pixel variation.

If PixelCoordMode is set to its default SCREEN (1) mode the hwnd parameter is ignored. Only if PixelCoordMode is set to WINDOW (0) or CLIENT (2) will it be honoured.

Related

PixelCoordMode (Option), PixelGetColor, PixelSearch

Example

#include <MsgBoxConstants.au3>

; Wait until something changes in the region 0,0 to 50,50

; Get initial checksum
Local $iCheckSum = PixelChecksum(0, 0, 50, 50)

; Wait for the region to change, the region is checked every 100ms to reduce CPU load
While $iCheckSum = PixelChecksum(0, 0, 50, 50)
        Sleep(100)
WEnd

MsgBox($MB_SYSTEMMODAL, "", "Something in the region has changed!")