# 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!")