_WinAPI_ComputeCrc32 mit _ScreenCapture_CaptureWnd ?

  • Hallo zusammen,
    ich möchte doch noch einen letzten Versuch starten.
    Vor kurzem hatte ich ja mal angefragt, wie man das hier " PixelChecksum von _ScreenCapture_CaptureWnd ? " hinbekommt.

    Jetzt habe ich hier " http://autoit-script.ru/index.php?topic=8701.0 " noch eine Idee gefunden.

    Spoiler anzeigen
    [autoit]


    #Include <APIConstants.au3>
    #Include <ScreenCapture.au3>
    #Include <WinAPIEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    ;Quelle: http://autoit-script.ru/index.php?topic=8701.0

    [/autoit] [autoit][/autoit] [autoit]

    Dim $pBit, $hDib, $hBitmap

    [/autoit] [autoit][/autoit] [autoit]

    ;Variablen für das Fenster
    Global $Fenster = "Mein Fenster..."
    $handle = WinGetHandle($Fenster, "")
    WinActivate($handle)

    [/autoit] [autoit][/autoit] [autoit]

    ; Ermittelt das Handle der 1. Statuszeile, welches "Text" als Bild enthält.
    $Statushandle = ControlGetHandle($Fenster, "", "[CLASS:...; INSTANCE:1]")

    [/autoit] [autoit][/autoit] [autoit]

    ; speichert den Screenshot von einem Fenster
    $hBitmap = _ScreenCapture_CaptureWnd("", $Statushandle, 145, 0, -1, -1, False)

    [/autoit] [autoit][/autoit] [autoit]

    $tSize = _WinAPI_GetBitmapDimension($hBitmap)
    $hDC = _WinAPI_CreateCompatibleDC(0)
    ;For $i = 0 To 1
    $hDib = _WinAPI_CreateDIB(DllStructGetData($tSize, 1), DllStructGetData($tSize, 2), 24)
    $pBit = _WinAPI_GetExtended()
    $hSv = _WinAPI_SelectObject($hDC, $hDib)
    _WinAPI_DrawBitmap($hDC, 0, 0, $hBitmap, $MERGECOPY)
    _WinAPI_SelectObject($hDC, $hSv)
    ConsoleWrite('CRC = ' & _WinAPI_ComputeCrc32($pBit, DllStructGetData($tSize, 1) * DllStructGetData($tSize, 2) * 3) & @CR)
    ;Next

    [/autoit] [autoit][/autoit] [autoit]

    _WinAPI_DeleteDC($hDC)
    _WinAPI_DeleteDC($hBitmap)

    [/autoit]

    Ich habe das jetzt hier eingebaut ein paar mal getestet und es scheint zu funkionieren.

    Meine Frage an euch ist nun:
    Kennt sich jemand mit "_WinAPI_ComputeCrc32" aus ?
    Ist das Beispiel hier korrekt?

    Gruß Schumi