• Hallo, Autoit Com!

    Ich möchte euch meinen kleinen Konverter vorstellen.

    Da hier Leute immer wieder die Frage stellen ob und wie es möglich ist
    Bilder in den Script einzubinden ohne nach zu laden, habe ich mal ein kleines Programm
    dafür geschrieben. Habe es einfach mal Pic2Bin genannt.

    Damit kann man Bilder (BMP/JPG/GIF/PNG) ganz leicht in Binary Strings umwandeln.
    Dar ich auch schon Bilder in meine Programme einbauen wollte, ohne nach zu laden und hier im
    Forum nur Routinen dazu gefunden habe, habe ich mich dazu entschlossen ein Konverter
    zu programmieren.
    --> Hier ist mein Script !!!

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=C:\Program Files (x86)\AutoIt3\Aut2Exe\Icons\AutoIt_Old4.ico
    #AutoIt3Wrapper_outfile=Pic2BinV1.0.exe
    #AutoIt3Wrapper_UPX_Parameters=--ultra-brute
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Description=Convert Picture to Binary
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=TV_Freeze 07/2011
    #AutoIt3Wrapper_Res_Language=1033
    #AutoIt3Wrapper_Res_Field=Coded by|TV_Freeze
    #AutoIt3Wrapper_Res_Field=Build|2011-07-03 Final
    #AutoIt3Wrapper_Res_Field=Compile date|%longdate% %time%
    #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%
    #AutoIt3Wrapper_Res_Icon_Add=C:\Program Files (x86)\AutoIt3\Aut2Exe\Icons\AutoIt_Old4.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    #include <Constants.au3>
    #include <GDIPlus.au3>
    #include <GuiButton.au3>
    #include <GUIConstantsEx.au3>
    #include <Memory.au3>
    #include <MemoryConstants.au3>
    #include <String.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>

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

    ; Pic2Bin V1.0 by TV_Freeze
    ;
    ; Greetings to: (Auto)Bert, UEZ & all another User's of http://www.AutoIt.de
    ;
    If FileExists(@TempDir & '\ShowBinaryPicture.au3') Then FileDelete(@TempDir & '\ShowBinaryPicture.au3')
    Global $sflag, $dflag, $rem1 = 'Beispiel.jpg', $rem2 = 'Beispiel-bin.au3', $oldsource = '', $olddest = '', $fehler = 0, $bakclip, $iX, $iY
    Global $aDropFiles[1], $WM_DROPFILES = 0x233

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

    $hGUI = GUICreate('Pic2Bin V1.0', 460, 240, -1, -1, Default, $WS_EX_ACCEPTFILES)
    GUICtrlCreateGroup('', 5, 0, 450, 223)

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

    ; Show the Binary Picture
    Global Const $hHBITMAP = Load_BMP_From_Mem(BackgroundPic(), True)
    Global Const $idPic = GUICtrlCreatePic("", 8, 8, $iX, $iY) ; Top , Left, PicWidth, PicHeight
    _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, 0x0172, 0, $hHBITMAP)) ;$STM_SETIMAGE = 0x0172, $IMAGE_BITMAP = 0
    _WinAPI_DeleteObject($hHBITMAP)

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

    GUICtrlCreateLabel('Picture (BMP/JPG/GIF/PNG)', 12, 105)
    $Source = GUICtrlCreateButton('SourceFile', 12, 122, 65, 21)
    $Sourcefile = GUICtrlCreateInput('', 80, 122, 370, 21)

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

    GUICtrlCreateLabel('Binary Filename', 12, 146)
    $Dest = GUICtrlCreateButton('Destfile', 12, 162, 65, 21)
    $Destfile = GUICtrlCreateInput('', 80, 162, 370, 21)

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

    $convert = GUICtrlCreateButton("Convert", 12, 192, 70, 24)
    GUICtrlSetTip(-1, 'Converts source-picture as binary-string')

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

    $show_binary = GUICtrlCreateButton("Show Binary", 140, 192, 70, 24)
    _GUICtrlButton_Enable($show_binary, False)
    GUICtrlSetTip(-1, 'Shows your Binary-String (Text)')

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

    $preview_binarypic = GUICtrlCreateButton("Preview", 250, 192, 70, 24)
    _GUICtrlButton_Enable($preview_binarypic, False)
    GUICtrlSetTip(-1, 'Shows your Binary-String Picture')

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

    $end = GUICtrlCreateButton("Exit", 380, 192, 65, 24)
    GUICtrlSetTip(-1, 'Ending of execute this program')

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

    $tab = ''
    $tab = $tab & chr(9)
    $tab = $tab & chr(9)
    $tab = $tab & " "
    GUICtrlCreateLabel('\ coding by tv_freeze /' & $tab & 'http://www.autoit.de - the german AutoIt-forum !!!', 10, 223, 460, 14)
    If @OSVersion = "WIN_XP" Then ; wenn Windows XP
    GUICtrlSetFont(-1, 8.5, 400, 0, "Times New Roman", 5) ; CLEARTYPE_QUALITY=5
    Else
    GUICtrlSetFont(-1, 8.5, 400, 0, "Times New Roman", 2)
    EndIf

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

    GUICtrlSetData($Sourcefile, $rem1)
    GUICtrlSetData($Destfile, $rem2)
    GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES_FUNC")

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Or $msg = $end Then
    _End()
    EndIf
    If $msg = $convert And $sflag = 1 And $dflag = 1 Then
    If GUICtrlRead($Sourcefile) <> '' And GUICtrlRead($Destfile) <> '' Then
    _CreatePic2Binary(GUICtrlRead($Sourcefile))
    _GUICtrlButton_Enable($show_binary)
    _GUICtrlButton_Enable($preview_binarypic)
    MsgBox(64, 'Picture was converted !', 'Filename: ' & GUICtrlRead($Destfile))
    Else
    _GUICtrlButton_Enable($show_binary, False)
    _GUICtrlButton_Enable($preview_binarypic, False)
    GUICtrlSetData($Sourcefile, $rem1)
    GUICtrlSetData($Destfile, $rem2)
    $sflag = 0
    $dflag = 0
    $fehler = 0
    MsgBox(64, 'No Picture!' , 'Please select a Picture to convert !')
    EndIf
    EndIf
    If $msg = $show_binary And $sflag = 1 And $dflag = 1 And $fehler = 0 Then
    If Not @Compiled Then
    ShellExecute(GUICtrlRead($Destfile), "", @ScriptDir, "edit")
    Else
    If Not ProcessExists("notepad.exe") Then
    If Not WinExists(GUICtrlRead($Destfile) & ' - Editor') Then
    Run(@WindowsDir & "\Notepad.exe " & GUICtrlRead($Destfile), "", @SW_MAXIMIZE)
    EndIf
    EndIf
    EndIf
    EndIf
    If $msg = $preview_binarypic And $sflag = 1 And $dflag = 1 And $fehler = 0 Then
    _ShowBinaryPicture()
    EndIf
    If $msg = $Source And $sflag = 0 Then
    getsourcefile()
    ElseIf $msg = $Source And $sflag = 1 Then
    $oldsource = GUICtrlRead($Sourcefile)
    getsourcefile()
    EndIf
    If $msg = $Dest And $dflag = 0 And $sflag = 1 Then
    $olddest = GUICtrlRead($Sourcefile)
    getdestfile()
    ElseIf $msg = $Dest And $dflag = 1 And $sflag = 1 Then
    $olddest = GUICtrlRead($Destfile)
    getdestfile()
    EndIf
    WEnd

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

    Func _End()
    GUIDelete($hGUI)
    Exit
    EndFunc

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

    Func getsourcefile()
    $file = FileOpenDialog('Select Source Picture (bmp/jpg/gif/png)', "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "Bilder (*.bmp;*.jpg;*.gif;*.png)", 1, $oldsource)
    If @error Then
    If $oldsource <> '' Then
    GUICtrlSetData($Sourcefile, $oldsource)
    Else
    $sflag = 0
    GUICtrlSetData($Sourcefile, $rem1)
    GUICtrlSetData($Destfile, $rem2)
    EndIf
    Else
    _Checkfile($file)
    If $fehler = 1 Then
    MsgBox(64, 'No Picture!' , 'the selected filename is not a Picture !' & @CRLF & 'or File could not open ...')
    $sflag = 0
    $dflag = 0
    $fehler = 0
    GUICtrlSetData($Sourcefile, $rem1)
    GUICtrlSetData($Destfile, $rem2)
    Else
    $sflag = 1
    ; $dflag = 1
    GUICtrlSetData($Sourcefile, $file)
    ; $file2 = StringLeft(GUICtrlRead($Sourcefile), StringLen(GUICtrlRead($Sourcefile)) - 4)
    ; $file2 &= '-bin.au3'
    ; GUICtrlSetData($Destfile, $file2)
    EndIf
    EndIf
    EndFunc

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

    Func getdestfile()
    $olddest = StringLeft(GUICtrlRead($Sourcefile), StringLen(GUICtrlRead($Sourcefile)) - 4)
    $olddest &= '-bin.au3'
    $file2 = FileSaveDialog('Select Binary Filename', "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}", "Scriptfile-Binary for Autoit(*.au3)", 16, $olddest)
    If @error Then
    If $olddest <> '' Then
    If $dflag = 0 And $sflag = 1 Then $dflag = 1
    GUICtrlSetData($Destfile, $olddest)
    Else
    $dflag = 0
    GUICtrlSetData($Destfile, $rem2)
    EndIf
    Else
    $dflag = 1
    If StringRight($file2, 4) <> '.au3' Then $file2 &= '-bin.au3'
    GUICtrlSetData($Destfile, $file2)
    EndIf
    EndFunc

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

    ;======================================================================================
    ; Function Name: _CheckFile($cfile)
    ; Description: Check file of Pictures is real true (HEX-STRINGS)
    ;
    ; Parameters: $cFile: the filename of Picture
    ;
    ; Return Value(s): set '$fehler' -string = 1 (File is no Picture)
    ;
    ; Author(s): TV_Freeze
    ;=======================================================================================
    Func _Checkfile($cfile)
    $checkfile = FileOpen($cfile, 0)
    If $checkfile = -1 Then
    ; ConsoleWrite("Error = " & $cfile & @CR)
    $fehler = 1 ; File could not open
    Else
    $pic = FileRead($checkfile, 5) ; read 5 bytes
    FileClose($checkfile)
    $Hex = _StringToHex($pic)
    If $Hex <> 'FFD8FFE000' Then ; JPG ?
    If $Hex <> 'FFD8FFE11A' Then ; JPG ?
    If $Hex <> 'FFD8FFDB00' Then ; JPG ?
    If $Hex <> '4749463839' Then ; GIF89 ?
    If $Hex <> '89504E470D' Then ; PNG ?
    ; check for BMP
    $checkfile = FileOpen($cfile, 0)
    $pic = FileRead($checkfile, 2) ; read 2 bytes
    $Hex = _StringToHex($pic)
    If $Hex = '424D' Then ; BM ?
    $pic = FileRead($checkfile, 3) ; skip 3 bytes
    $pic = FileRead($checkfile, 6) ; read 6 bytes
    FileClose($checkfile)
    $Hex = _StringToHex($pic)
    If $Hex <> '000000000036' Then
    $fehler = 1 ; File is no Picture
    EndIf
    Else
    $fehler = 1 ; File is no BMP
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    Return $fehler
    EndFunc

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

    ; from (Auto)Bert - MP3-Player
    Func WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam)
    Local $nSize, $pFileName
    Local $nAmt = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 255)
    For $i = 0 To $nAmt[0] - 1
    $nSize = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
    $nSize = $nSize[0] + 1
    $pFileName = DllStructCreate("char[" & $nSize & "]")
    DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $nSize)
    ReDim $aDropFiles[$i + 1]
    $aDropFiles[$i] = DllStructGetData($pFileName, 1)
    $pFileName = 0
    Next
    ; added-by-me-----------------------------------------------------------------------------------------------
    $file2 = $aDropFiles[0]
    If StringRight($file2, 4) = '.jpg' Or StringRight($file2, 4) = '.bmp' Or StringRight($file2, 4) = '.gif' Or StringRight($file2, 4) = '.png' Then
    $sflag = 1
    GUICtrlSetData($Sourcefile, $file2)
    EndIf
    EndFunc ;==>WM_DROPFILES_FUNC

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

    ; from Unkown User (I don't know from)
    Func _CreatePic2Binary($sPath, $sBin='$BackgroundPic')
    If Not FileExists($sPath) Then Return SetError(1,0,0)
    Local $sToWrite = '', $fh = FileOpen($sPath, 16)
    If @error Then Return SetError(2,0,0)
    Local $read = FileRead($fh)
    FileClose($fh)
    Local $len = StringLen($read), $count = 4060

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

    $sToWrite &= @CRLF
    $sToWrite &= ';' & @TAB & 'String with the Binarydata of: ' & $sPath & @CRLF
    $sToWrite &= 'Func BackgroundPic()' & @CRLF

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

    $sToWrite &= ' Local ' & $sBin & ' = ""' & @CRLF
    If $len <= $count Then
    $sToWrite &= $read & @CRLF
    Else
    While 1
    $sToWrite &= ' '
    $sToWrite &= $sBin & ' &= "' & StringLeft($read, $count) & '"' & @CRLF
    $read = StringTrimLeft($read, $count)
    $len = StringLen($read)
    If $len <= $count Then
    $sToWrite &= ' '
    $sToWrite &= $sBin & ' &= "' & $read & '"' & @CRLF
    $sToWrite &= ' Return Binary($BackgroundPic)' & @CRLF
    ExitLoop
    EndIf
    WEnd
    EndIf
    $sToWrite &= 'EndFunc ;==>BackgroundPic' & @CRLF
    ; write the Destfile
    Local $hFileOut = FileOpen(GUICtrlRead($Destfile), 2+16)
    FileWrite($hFileOut, $sToWrite)
    FileClose($hFileOut)
    ClipPut($sToWrite)
    $bakclip = ClipGet()
    ClipPut("")
    ; ConsoleWrite($sToWrite & @CRLF)
    EndFunc

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

    Func _ShowBinaryPicture()
    Local $sToWrite2
    $sToWrite2 = ''
    $sToWrite2 &= @CRLF
    $sToWrite2 &= '#include <GDIPlus.au3>' & @CRLF
    $sToWrite2 &= '#include <GUIConstantsEx.au3>' & @CRLF
    $sToWrite2 &= '#include <Memory.au3>' & @CRLF
    $sToWrite2 &= '#include <MemoryConstants.au3>' & @CRLF
    $sToWrite2 &= '$hGUI = GUICreate(' & '"Pic2Bin V1.0 - Binary Picture - Preview"' & ', @DesktopWidth, @DesktopHeight, 0, 0)' & @CRLF
    $sToWrite2 &= '$end = GUICtrlCreateButton("Exit", @DesktopWidth-80, @DesktopHeight-60, 65, 24)' & @CRLF
    $sToWrite2 &= '; Show the Binary Picture' & @CRLF
    $sToWrite2 &= 'Global $iX, $iY' & @CRLF
    $sToWrite2 &= 'Global Const $hHBITMAP = Load_BMP_From_Mem(BackgroundPic(), True)' & @CRLF
    $sToWrite2 &= 'Global Const $idPic = GUICtrlCreatePic("", 0, 0, $iX, $iY) ; Top , Left, PicWidth, PicHeight' & @CRLF
    $sToWrite2 &= '_WinAPI_DeleteObject(GUICtrlSendMsg($idPic, 0x0172, 0, $hHBITMAP)) ;$STM_SETIMAGE = 0x0172, $IMAGE_BITMAP = 0' & @CRLF
    $sToWrite2 &= '_WinAPI_DeleteObject($hHBITMAP)' & @CRLF
    $sToWrite2 &= 'GUISetState()' & @CRLF
    $sToWrite2 &= 'While 1' & @CRLF
    $sToWrite2 &= ' $msg = GUIGetMsg()' & @CRLF
    $sToWrite2 &= ' If $msg = $GUI_EVENT_CLOSE Or $msg = $end Then' & @CRLF
    $sToWrite2 &= ' Exit' & @CRLF
    $sToWrite2 &= ' EndIf' & @CRLF
    $sToWrite2 &= 'WEnd' & @CRLF
    $sToWrite2 &= 'Func Load_BMP_From_Mem($bImage, $hHBITMAP = False)' & @CRLF
    $sToWrite2 &= ' If Not IsBinary($bImage) Then Return SetError(1, 0, 0)' & @CRLF
    $sToWrite2 &= ' Local $declared = True' & @CRLF
    $sToWrite2 &= ' If Not $ghGDIPDll Then' & @CRLF
    $sToWrite2 &= ' _GDIPlus_Startup()' & @CRLF
    $sToWrite2 &= ' $declared = False' & @CRLF
    $sToWrite2 &= ' EndIf' & @CRLF
    $sToWrite2 &= ' Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary' & @CRLF
    $sToWrite2 &= ' Local Const $len = BinaryLen($memBitmap) ;get length of image' & @CRLF
    $sToWrite2 &= ' Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002)' & @CRLF
    $sToWrite2 &= ' Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer' & @CRLF
    $sToWrite2 &= ' Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct' & @CRLF
    $sToWrite2 &= ' DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data' & @CRLF
    $sToWrite2 &= ' _MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE' & @CRLF
    $sToWrite2 &= ' Local $hStream = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0)' & @CRLF
    $sToWrite2 &= ' $hStream = $hStream[3]' & @CRLF
    $sToWrite2 &= ' Local $hBitmap = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface' & @CRLF
    $sToWrite2 &= ' $hBitmap = $hBitmap[2]' & @CRLF
    $sToWrite2 &= ' Local Const $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr")' & @CRLF
    $sToWrite2 &= ' DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, _' & @CRLF
    $sToWrite2 &= ' "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak' & @CRLF
    $sToWrite2 &= ' $tMem = 0' & @CRLF
    $sToWrite2 &= ' If $hHBITMAP Then' & @CRLF
    $sToWrite2 &= ' Local Const $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)' & @CRLF
    $sToWrite2 &= ' $iX = _GDIPlus_ImageGetWidth($hBitmap)' & @CRLF
    $sToWrite2 &= ' $iY = _GDIPlus_ImageGetHeight($hBitmap)' & @CRLF
    $sToWrite2 &= ' _GDIPlus_BitmapDispose($hBitmap)' & @CRLF
    $sToWrite2 &= ' If Not $declared Then _GDIPlus_Shutdown()' & @CRLF
    $sToWrite2 &= ' Return $hHBmp' & @CRLF
    $sToWrite2 &= ' EndIf' & @CRLF
    $sToWrite2 &= ' If Not $declared Then _GDIPlus_Shutdown()' & @CRLF
    $sToWrite2 &= ' Return $hBitmap' & @CRLF
    $sToWrite2 &= 'EndFunc' & @CRLF
    $sToWrite2 &= $bakclip
    ClipPut($sToWrite2)
    Local $hFileOut = FileOpen(@TempDir & '\ShowBinaryPicture.au3', 2+16)
    FileWrite($hFileOut, $sToWrite2)
    FileClose($hFileOut)
    If @Compiled Then
    If @OSType <> 'WIN32_NT' Then
    If FileExists('C:\Programme\AutoIt3\AutoIt3.exe') Then
    RunWait('C:\Programme\AutoIt3\AutoIt3.exe' & ' "' & @TempDir & '\ShowBinaryPicture.au3' & '"')
    FileDelete(@TempDir & '\ShowBinaryPicture.au3')
    Else
    FileDelete(@TempDir & '\ShowBinaryPicture.au3')
    MsgBox(64, "No AutoIt found", "Please install the AutoIt !")
    EndIf
    Else
    If FileExists('c:\Program Files (x86)\AutoIt3\AutoIt3.exe') Then
    RunWait('c:\Program Files (x86)\AutoIt3\AutoIt3.exe' & ' "' & @TempDir & '\ShowBinaryPicture.au3' & '"')
    FileDelete(@TempDir & '\ShowBinaryPicture.au3')
    Else
    FileDelete(@TempDir & '\ShowBinaryPicture.au3')
    MsgBox(64, "No AutoIt found", "Please install the AutoIt !")
    EndIf
    EndIf
    Else
    ShellExecute(@TempDir & '\ShowBinaryPicture.au3', "", @ScriptDir, "edit")
    If WinExists('Pic2Bin V1.0') Then
    Send("^V")
    Exit(0)
    EndIf
    EndIf
    EndFunc

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

    ;======================================================================================
    ; Function Name: Load_BMP_From_Mem
    ; Description: Loads an image which is saved as a binary string and converts it to a bitmap or hbitmap
    ;
    ; Parameters: $bImage: the binary string which contains any valid image which is supported by GDI+
    ; Optional: $hHBITMAP: if false a bitmap will be created, if true a hbitmap will be created
    ;
    ; Remark: hbitmap format is used generally for GUI internal images, $bitmap is more a GDI+ image format
    ;
    ; Requirement(s): GDIPlus.au3, Memory.au3
    ; Return Value(s): Success: handle to bitmap or hbitmap, Error: 0
    ; Error codes: 1: $bImage is not a binary string
    ;
    ; Author(s): UEZ
    ; Additional Code: thanks to progandy for the MemGlobalAlloc and tVARIANT lines
    ; Version: v0.95 Build 2011-06-14 Beta
    ;=======================================================================================
    Func Load_BMP_From_Mem($bImage, $hHBITMAP = False)
    If Not IsBinary($bImage) Then Return SetError(1, 0, 0)
    Local $declared = True
    If Not $ghGDIPDll Then
    _GDIPlus_Startup()
    $declared = False
    EndIf
    Local Const $memBitmap = Binary($bImage) ;load image saved in variable (memory) and convert it to binary
    Local Const $len = BinaryLen($memBitmap) ;get length of image
    Local Const $hData = _MemGlobalAlloc($len, $GMEM_MOVEABLE) ;allocates movable memory ($GMEM_MOVEABLE = 0x0002)
    Local Const $pData = _MemGlobalLock($hData) ;translate the handle into a pointer
    Local $tMem = DllStructCreate("byte[" & $len & "]", $pData) ;create struct
    DllStructSetData($tMem, 1, $memBitmap) ;fill struct with image data
    _MemGlobalUnlock($hData) ;decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE
    Local $hStream = DllCall("ole32.dll", "int", "CreateStreamOnHGlobal", "handle", $pData, "int", True, "ptr*", 0)
    $hStream = $hStream[3]
    Local $hBitmap = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromStream", "ptr", $hStream, "int*", 0) ;Creates a Bitmap object based on an IStream COM interface
    $hBitmap = $hBitmap[2]
    Local Const $tVARIANT = DllStructCreate("word vt;word r1;word r2;word r3;ptr data; ptr")
    DllCall("oleaut32.dll", "long", "DispCallFunc", "ptr", $hStream, "dword", 8 + 8 * @AutoItX64, _
    "dword", 4, "dword", 23, "dword", 0, "ptr", 0, "ptr", 0, "ptr", DllStructGetPtr($tVARIANT)) ;release memory from $hStream to avoid memory leak
    $tMem = 0
    If $hHBITMAP Then
    Local Const $hHBmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    $iX = _GDIPlus_ImageGetWidth($hBitmap)
    $iY = _GDIPlus_ImageGetHeight($hBitmap)
    ; ConsoleWrite("Pic.Info" & @CR & "Width - $iX = " & $iX & @CR & "Height - $iY = " & $iY & @CR)
    _GDIPlus_BitmapDispose($hBitmap)
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hHBmp
    EndIf
    If Not $declared Then _GDIPlus_Shutdown()
    Return $hBitmap
    EndFunc ;==>Load_BMP_From_Mem

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

    ; logo created by tv_freeze
    ; String with the Binarydata of: D:\Logo.jpg
    Func BackgroundPic()
    Local $BackgroundPic = ""
    $BackgroundPic &= "0xFFD8FFDB0043000503040404030504040405050506070C08070707070F0B0B090C110F1212110F111113161C1713141A1511111821181A1D1D1F1F1F13172224221E241C1E1F1EFFDB0043010505050706070E08080E1E1411141E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1E1EFFC0001108005F01BC03012100021101031101FFC4001F0000010501010101010100000000000000000102030405060708090A0BFFC400B5100002010303020403050504040000017D01020300041105122131410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A25262728292A3435363738393A434445464748494A535455565758595A636465666768696A737475767778797A838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE1E2E3E4E5E6E7E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F0100030101010101010101010000000000000102030405060708090A0BFFC400B51100020102040403040705040400010277000102031104052131061241510761711322328108144291A1B1C109233352F0156272D10A162434E125F11718191A262728292A35363738393A434445464748494A535455565758595A636465666768696A737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FAFFDA000C03010002110311003F00FA36EAE62B581E7B999218971B9E4C2A8CF1C93EFF00CEA9FF006FE8BDF59D30FB1B94C7F3AF65CE31DD9C966C6FF6FE8D9E358D2FFF0002531FCE9DFDBDA2E32759D309EC7ED49FE34BDA43B8ECFB0DFF008483475381AC699FF8149FE34BFF0009068BFF00416D37FF0002A3FF001A3DA43BA0E57D84FEDFD0DB86D574CFC6E53FC681AF6878FF0090BE9B8FFAFA4FF1A3DA43BA0E57D843AEE8609FF89BE9873D7FD253FC681AF683DF54D33FF0253FC68F6B0EE8395F617FE120D17381AB699FF8131FF8D2FF00C243A376D5F4C1FF006F49FE347B48774167D806BDA29E4EB1A67FE0527F8D29D7F461D359D2F1D87DA53FC68F690EE8395F6106BFA2FF00D0634BFC6E53FC683AFE8A31FF0013AD371FF5F29FE347B487742B3EC1FF00090689CFFC4EB4EFFC084FF1A5FEDFD17FE833A61F63729FE347B487743B3EC27F6FE8D9E358D2FF00F02531FCE97FB7B45C65B59D309EC7ED49FE347B48770B3EC37FB7F465E9AC6987FEDE93FC697FE120D17FE82FA69FFB7A8FFC68F690EE82CFB09FDBFA19E1B55D30FF00DBCA63F9D1FDBDA181FF00217D371FF5F49FE347B487741CAFB0875DD0C127FB5F4C24FF00D3CA7F8D035ED048E754D33E9F694FF1A3DA43BA0E57D85FF848345E8356D331FF005F31FF008D2FFC243A30E9ABE9A3FEDE93FC68F690EE82CFB00D7B46232758D33FF0293FC695B5FD1874D674BC7A7DA53FC68F690EE8395F6106BFA2FF00D0634BFC6E53FC683AFE8BFF0041AD371FF5F29FE347B487742B3EC1FF0009068BFF0041AD3BFF000213FC68FEDFD17FE833A67B03729FE347B48775F78F95F603AFE8D9E358D2FF00F02531FCE97FB7B45232DACE967D3FD293FC68F690EE2B3EC37FB7F465E9AC6987FEDE93FC697FE120D17FE82FA6FF00E0547FE347B487743B3EC27FC241A21186D574C3FF006F298FE747F6F68607FC85F4DC7FD7D27F8D1ED21DD072BEC21D7743073FDAFA664FFD3CA7F8D035ED088E754D33FF0002531FCE8F6B0EE8395F617FE120D17A0D5B4CFF00C098FF00C697FE121D1BB6AFA68FFB7A4FF1A3DA43BA0B3EC035FD18F2758D307FDBD27F8D2B6BFA30FBBACE978F4FB4A63F9D1ED21DD072BEC20D7F45FF00A0C697F8DCA7F8D075FD171FF21AD371FF005F29C7EB47B487742B3EC1FF000906899E35AD3BFF000213FC681AFE8B8FF90D699EC3ED29FE347B48775F78ECFB01D7F46CF1AC697FF81298FE74BFDBDA291F36B3A59F4FF494E3F5A3DA43B859F610EBFA30E9AC69873FF4F49FE347FC241A29FF0098BE9B9FFAFA4FF1A3DA43BA0E57D87DB6B1A5DDCCB6F6F7D613CAD9DB1C7323138E7800E7A55E1919010019FF003DAA9493D989A333C5791A382C7FE5EADB83DFF7F1D44BCBAAAAA95E49F96BCFC67C7F235A7B114F1A81D0039E38AAD246B9C0553F874AE1D0D40C7B5048B18381E94FDD952004C9CF6AAB315C589446CB2151C800F1D2AC9319048553CE0714F4634AC41226E995828214F3C54D19014AED503D48A49084C46A09C260E782053616DCC7705001F4149B687B933F9582A5509C71C536131302360E07CBE84E69DC2C4DE5AEC2C550E38DB8A686EDE4C6A3A74C9A3744D9914C0484C6C802B0F4ED51C2C863518538E3A76A4AFB95B9231403251547738A18C4A7710A38CE71D07E1420208EEA192331BC3229272B98EAC411AB4601500F738AB6912873C52C4410B1B45DF239150CB6FF00687623F748A3A81834B9750BDC8658DA303CA5070304919356E311456885235DA4F391CB1EE7D695D0F560082EA11548279F96A39E34DA72141CF1C50C115A445C80154FAF149E561372C6A481E829257D8771EAF907685C9F6A23509B642A338C74A7B68C37D8B44C6771010E3A71504D1EF90155185EBC0A1AEC0C9A3603236A81D72452011A9270807A102812D06C4DB9C82A800E9C0A99BCAC152AA7838E292771D8642626C828380718EE6A711A95662A991FC38EB4EE161A1B1F"
    $BackgroundPic &= "2F931A81C74CD472E1CEC3180AC3D287E425E64309411841B4ED257A76A95B6004EC5503BE3B52181F2B2AD85E9D7D07E15047750BAB23C320DC78FDD71F5154BCC96FB162DD159305467B9C539E196321956368FF008B2391F4A2C3BD88A583ED1210BFBB403960307F0A8648CC4A3CA50C40C65864F343D1095EFA1661114767BD635E4E58B0E58F3FCA9720B28455C13E9426377239E24DA72147A7155A4419185524F518A818B69185D4EC08500F9AE338FF00A66F5D22671CB77F415EAE0FF866151EA6578AF68D2406C73756D9FA79F1D2C658BB06F94F41939CD73E33E35E85D3F84F21F187C6EB5F0EF8A750D0A4F0E4F74D672796641781430007CD8D87158F2FED0165264AF84EE149E7FE3F97EEFF007BEE56B0CBF9A29F31CF2C672B6AC0BF1F6D480078627E993FE9AB929FDEFB9D3DAB5341F8D5A15FDD2DBEA16173A607E5642E25409FDF240040FCEB47964D2BA95D8A38C8B7AAB1E81AFEAF168FE1BBAD7368B886DE1F3B08E0065F5079E31CD739F0D7E23DB78CB579B4E4D31ACDD2033C65E70FE64790030C28C0E6B969615CE94AA5F6E86D2ADCB350B6E7A0B8547DDB4B1C7DD1DEAABDBCDB83B5C32B631F20C28F6C77AE6D8D7724F28AE0EE2C4753819AC8F176BD0F86F439B579A169962206C5201209E4FE0327F0A70829CD4575094B963717C0FE248BC4FA126AF6F6EF041248CA9B981DCA0E0374E87AD6D98CE4B29EFD28A90E49B5D8212E649F724DC72377CB9F4A4660700375EDDE95C637673CF6A88E1E40B8C1F5CD2B858B2047B76819CFAD30448BC2A0FA0A431803292E067B8A922C9527A034DDEC0AC865D3944C8258F4C134D801442C6E5994FF000E071ED4D3B89E87176DE3EB19BC707C311D94C67690A4527980AC8807CCE063A03C7AD76E0F96EDC808C30D919C9AD6B507479537BAB914EA29DDA1F1925C83F28E8327A8A64AC1325CE57158F99A6846C1268D648C6DDC3BD62F8BF573E1DF0E5D6AC6DDAEFECC9BDA20E10B0FA9CE2AA3072924BA92E564DF63CBDBE3A5A95FDD786A770DCC58BC5FDE27761F2718A67FC2F9B45FB9E199DB3CC78BD51BD7BB0F93B57A2F2D7FCDF81C7F5C5D841F1FED072BE169E407EE7FA6AFCC3B9FB95D9FC3CF8A7E1FF185F8B08EDE7B1BFDA5A3B790861281D76B0C64FB102B2AB819420E49DCB86294E5668AFF00163E21AF81750D3E0B8D3E6BC7BD85E45115C0884615802082A7775AE9BC0DADA78A3C2B63AFC50B42B72A484660C57048EA00F4F4AC6746D4D54BEE6B1A97A8E16D8DB079C8C641F4A951997AFE35CDA6C6C0C8492CA79F4A7E48C16F973E94D6800CC0E006C67B77A6ECE79FC284C4D10B619C26304F7CD5A51184C0C9CFF3A2F718C1122F0A8A3D80A66D6562C067D3FC284C18F8896CB74C8E4525CB148F764B118C02684EC27A91DB82AA5FED2D8C7DDC0216A279A25940DC7737451475417DCB2098DF702141187E339A7C6C7CCC745000524F18A3C87D06CA421258FCA073516639E3591063B73ED42426EC470205D4B4F47249F35BB7FD337AE800038FDE7E75EA613F866353732FC583FE25037027FD2EDBBFFD378EA107003925B69C66B9B19FC45E85D2D8F35FDA074DD33FE15C6A5A8AE9F6CB78668BFD204603FDF5C927BD7CDBA2CCF6BAB59DD476A976F0DC24AB03292B2956040207254E3181EB5DF81BCA93BB38314946A2B23D1358F196AFA9E9973627E1DE996DE7C653CD8AC25DE99FE319E38AE6740F07789759B9582C746BB3B9C12F24463407FE7A127F87FD9AE9A5ECF0F0779DCCA7CF564AD1B1E95E3BB2F1DF86B49866B3D69868F6367040C164C1DE142B3EDC7DDCFF000FA527C0EF126B9A978D56D6FB557961367249E5301FBDE571203D97FD9AE751A1570D2A915AFEA6FCD5215945B3A9F8A1F112F348D55F44D0D6317090F9934AE99312903F7A01E0A2F71D4F6AC6F0D0F897E21D28EAD65AACAD6C72B1B3CDB3ED0FDAE1060FEEFF00E991C66A69E1E851A0AA5557B8E752A54A8E307B1A9E08F13F8C67D78787F55B6791DA374F39EDCA9C80D8B9CF41196C2EC3CF23B579FF00C4D5F145BEA50E99E25D445E4A91FDA5628A52546091F68E800518E539AAA54A842BDA3ADD5D79135275254AECEABE0BDBF8B121B2D4D754B58BC2FE74AD708F2843293BBF7AA08F954B63E5CFBD56F8A9A8FC42F0EEA736A71EBD245A55EDC49F638A0B9DCCA8390E78E14023E5E6B27EC658969ADFF32FF791A374FF00E18B5F0A35BF1878A3C3DE24806B734DA8AC31FD8669A4C28624FCE0FF000838E9ED5C378A7C55F11FC39AD4FA3EA3E25BA37708064F2A62CAD919DC0E071ED570A745D595371FEB42253A8A9A9267AEDA1F177893E0E6953E89AAEDD7268E376BA925F2CB8E771CE0FB57866B7E37F883A56AD75A7DD789AF45CDAC8D148525C8DC38241F4ACF0F4E8CE52835AA65569D4828C93D1A3B2F11EABF1A1B49B2F10A9B8B7B19917CB86C86E75181869140C9CFE35B7E35F8ADE21F0FF87F48D3DACE28FC457166B35E3C89C439E87674C9EB834950A351C631F98FDB5585DC8E2B46F1C78BB5792796FBE21C1A41032A93332F9A7FBCA11480B56FC2FF00193C4FA46A0A9A9DDC3AD5983F3860033AF7911BA81EC6BB3EA54A69C546DE660B1338DA5CD7F23E83B2D461D52CADB50B0569EDEE625910838E08EB5C5FC55B6F1AC366DA9685A9476BA5DADAB35D4492EC9376EFBE0E390076E335E4E154235546A2BA3BEB394A0DC4F20F0326AD77E26B54D22E13FB46E9CCD148CFB3CF6C1FF485383B50774EF5EEEDAE6A1E19F0496D6E58B56D6AD97132C0C06F24FDFC7F0A81C91ED5E96614E15671A6"
    $BackgroundPic &= "97BDFA1C98594A1172E9FA9E69FF0009AF8D3C47ABDAD96997A019D49B78EDBF762E533FF1F0ADD5635E854F269BAE7893E22F847568ADB54D4BED92BC65F61C3A5C81D655C8F9157BAF7AAFABE1A3254ADA93ED6AB5CF7D0F4FF857E2D83C59A3C9398521BA88859194FC92AF6740790A7D0D745A8DBDBDD40F15CC2B344786575C86FC2BC6AD074AA38F63D0A52538DCF9AFE3BD9DADAF8FE5B7B4B68E189AD217F26250BB8E0FCC31D31DC77AC7F046BF79A2C777F65F0D59EB9F68656669A077E83AAEDFBA3DABD9847DA508DDDB45A9E6C9F25576572978FB5AB8D72EEDDEE7C3D67A3B468404B781A3F3B9FBC7773C5749F00347B5BEF125C5E26A9145AAC3049F62B6E85DCAE0499F41E828A8B928B4B5087BD555F42B78E758F899E14D623D2F5FF113CD75E489018A6F31769F7207A57AE7C32BAF10F887E0ADCC96FA816D6A633C56D70EDB36BF1B4E40E075AE4AF0A4A946715A5D1BD1954E7716F5B1E49E23F14FC46F0E6BB71A3EA1E24BA37706049E4CD956E3390703819AEB6CAF7E2F7883C2506B5617E22B0820382B2EC9AEF19CC838C9FA67B574CE9616118CE51D1994675A52714F5465FC37F89BE2B5F1669D06A1AA4BA9D9DDCAB1491C801F3149C6F4FEEEDF4EF5EABF19B54F16E97059C9E1B8C35BB175B92BB4383C6DC331C281C93F4A8AF86A30C4C135EEBFEBF134A75A72A4DF54713A6DEF8A6E2D22B9BCF8896A93491C8C6DE398EE9CAF4652BF700EE067350784BE22789CEA9A7C7737A3558A63808230A6FD73832C47FE5988FBA9EB5B7D5A8D58C9285ADB3EFF00D7EA47B69C1AF7AE7AAF8D6C75ABBD31A3D0A4315E6F52ADE7987233CFCC01C7D3BF4AF0FD4FC5DE37D3F517B1B8D76F27B889DD184326D17654E0B47FDC09DC77C5726029D1A916A51BB36C54EA45A69E8743E21D4FE2C369963ADC2D3359BC69B23B0FBF30206D72B8CAFA91CE7DAB5BC4563F16AF74DB5D6AC6FF00C845D3D5AEAD6298C524920DD92AB8F9491838CF3D38C536B0B1B3DFA093AF2B9E5ABF107C70D2AA7FC24D7CC5CE33BCA897D48FEE85EF5D0F8F75AF1F787ACB4592E3C5AB3C9756B92B6B7259A73B988907030BB4A0CF7ADE5428C6715CBB9846AD4716F9B63B9F84BA67C465BA4D53C4DAA79FA6CF6A5D2092625C3120A9298F978CF7EF5EAD1A2B40ACA3270726BC9C47239FB9B1DF479947DEDC83CF89098CB0DCB8DC0724668EC4E4B05EDE82B0D16A6C38B8911BB9E8BDBFFD745AA2292401B8F5355D09B11E07F6AD8E73FEB981FF00BF4F5BAB8E9F37EB5E960FF87F332A9B993E2ACFF640EDFE956D83FF006DD2A294B2862738C752060D73E317BEBD0BA7B1E07F154FC4DD6752D5344834EBAB9D05E653084817040C1186CE7A8AE1F4DF03F8FAC2FADAFEDBC35A824F6F32CD1318C1C3A9041C67919038AF430F528429A573CEAB0AB29DEC7BA7C2BBFF0017DE59DEFF00C26303433ACAA21F32254CAE39C63DEBB6594792D1ABA8EF815E55750551F26C7A149C9C173EE790FC5C9BC5DA8DD4FA158692F71A5B88CABA26496186DD9CF407822B96F06695E38F0D6A4752B0F0F5C3CACAD11124608CB63320E78518FBB5EC616586861FD9B96FB9C35955757992D8EEBC7FE03D4F5B9E1D6EC44725E4B1C6F756F9DB8982855901EEA00E53A1AABE18B9F889E1DD3DF4DB6D166923F39A308F183FBC6396B85E7022C9FB9F95670AF42BD154EA3B5872A756954E78ABDCEAFC09A1F8A5B5B9B59F11DFB873F28B70DC48E063CCFF006131C04FC6B9FF008E9E11D7F52D62CF50B0B17BDB7F2950C70E37A4818E2427BA00795EF5853AD4E3894D6914AC6B3A73746CF7DCE7BC3DE1BF1DEA7A52784EE34E92D34837625B99DC042DCE4BAF3F7739F93D6BB7F8DBE13BFD73C3165168D0B5CCB6536E102900B2ED0370F5C6338EF4EAD7A51AD1717A5EEFE628539BA4EEBFA4798F822D3E25785AEAE5F45D0E726EF0932C912B2B91D1C64FCA07A56778BFC13E3FBCD76E6EF50D26E6FAEA72B24B2C206C2C47F0F3C01D315D2AAE1E351CEFAB39DC2B3872DB44759E18D6FE28685E1E5D361F0C652CE254B7F322196E7AF5AF3AD6FC23E37D5F55BCD467F0DDE79D752B49204418DC7AE39A8A52A14E6E4A5B9551569C5271D8F7CF83FA978B2F34EB8B5F14693FD9E2D9523B61B369700739E6B17E33FC38BDF15DF45AC68D247F6E8E3F2E58646DA2403A107D474C77AE1855850AF78BBA3AE54E7568D9EE717E0EB2F89DE0D5BAB3B4F0A0BA8676DCE93DBA483774DCA73C0F6AE8ED34CF8B1E2CD4AD62BAB68BC3560A70F2C50C716E1DD86325BE86BBE53C2F33AAE57F239631AF650B5BCCF69B5B4163642CD58BF92A14BB756C0EA7EB597E23B09757F0D6A9A6C4424971018E3663C67A8FC322BC88CD2A8A4CF4251BC6C8F0CD03C33E3AF0F6B715FC3E1EBA7B9827CED0ABB667C63CC5E788C6795EF5DFE95E02B8D4740D517C47218F55D4EE45CBC8AE70244FB8C07F0AFAA57B38BC5518DA7077969F75EE79F428547EEC9597F48E520F0B78E7C2BAB9D56D34D17B2249FBD6836959D88C798A0FDC403AA0EB5178AB4AF1F78C6EA237DA2B086D888D02E2347627224524E428EEA7AD53AF8694956E6D6C4FB3ACA2E9DB43D3BE157829BC25A4CED777093EA57AE24B978C6101031851D855AF1E5DEA96DE1DBE93458D9EFD53F70AA016DD9F435E454A91AB5F99ECD9DD083A74ECB73E7CF12685E3CD7F516BED5347BBB9B9DAB1B3A46ABBC2F423078033C8EF4EF0FDA7C46F0DF9EBA5699770F9EC0C9FB953BC8E8464F007A57AB29E19C391BD0E051ACA5CD6D48BC51A4FC49F13CB14DABE8F7B72D0A954"
    $BackgroundPic &= "2B0AA0E7D306B67E137C3FF165878917C4175A7BD90B08DE589252374EFB4ED5001E84F5A89D7A10A4E317E43852AB29A949191E38D2FE2478C7578F56D5BC2D7493AC2B1622880181F8FBD75BF0CEE7E25787B499F478FC3522DB416F713C1E644373CDB72AB9CF723A54CFD84A9727368870F6D19F358E47C55E18F883E20D72E358D4BC2D7AB3DC905C468003818C8E7815DD787F56F89DA5F837FB2E1F0BB335A816F10308CBC6C1B7375ED9ADAA3C3CE1183968854FDB464E4A3B9C0E99E0DF1B69F7D05E45E1BBD79209564036001D97A11CF00771DEBD03C69A5F8EBC69E19B0BCBCB4266824916E74F88F9664391B245E7B73915A56C461FDA46A395EDA7DFFD7E24D3A75795C2DB99FE05F0B78C6CAF6E447A0C11CB210B25E5CA01CE08DF175D8067918E715426F08789F4EBAB813691717263990CA60C20BB61F72488E7F76ABFC4BFC555F5BA1ED24B9B7FBBE5FD7513A157953B1DC5A5C78E2C6DF53D7E5B492FF50731C2B6B1B612419199110FDC001E477E6BCEF58F0B78B2FF0050BDBB9F42BB9E49E5124FE480A2E189C868F9F902F71DEB9E854C3536DA9797DC6B5615A4926BCCF64F85BA8F896E6DA7B3F1269DF65366228EDE509B04EBB4E481DB1802AE7C48F887A57838DA452DA4FA85DDDA922DA2608762E32DB8F1DFA5798E8AA95DC29BD3B9D8AA3851E69A3C0BE28AF87352BB87C47E1CB8530EAA58DC58FDD91245C648F407AFBFE35D07C0FF00064FE25D457C41AD334FA6E9E025B0939599D4E54283D114E73EA6BD3A951D3C3DE5BEC70C20A75AD1DB73E82B46225663C28EF56E648E3923317FAB718C0EC6BC34D1EA58A4CA2372A3032DCE4726872E0E4E48C724818A4B519145232C7BB8607B55EC6F50D800F6C5526ADA93A94B3BB59B25C1C79AC718FF00A66F5BBB13B86AF4B06FF766553732FC5847F63F0493F6AB638FFB6F1D210258C804F3586317BEBD0BA7B0D58C85F98023B7B54A921C0F98E474AE3468CA97F0C32299DF0655C019E8467F9D42EB1A2972A30463A53BA44DAE54291B306DABBBA631D3352A92AD8E719A95AAB94F72D42A431CE016E3A54FB595C6EE847E19A3761E43CB152581C55877FB55B0727063EA7D8D17B304551202ED1293BC0FD297EF0C90C320FE14D086C76FE4C5800B0F5CF5A6B07280E71DB00D35E62445E5A6EC145627A93D69660A14EDFC80A9E85752BA315CF5538CF26A7B627EF32904F4E6921B2CA6738C1C7BF7A5E738562A076F4AA7B12B71FA837CB12E48CAF51D5AA0FB3491B33195CEE0383D29587A168B32D9601DCC1861BD2AA4D1B6E46EAC073EF46C04A312464027A629AB1614EE00A8A6D3044B1B90319E474AAB7D0C53219A4C19107CB91C11FE34C4405515779000C63A554658DCEE2A370E831EB5327AA4812D094128D8ED9AB31021B73704E00A6091636BABA963C1183E95212412C0E314ADA0EFA93F9A6EAD793CC5C93ED557CC024312B36FC71F4A2F701C09382DBBD3E94C8ED84519C0DC3B9F5A6896358332E7A60F406A2F2D33828AC4F52687E4343A55403E518FA0AAD1B104F5527279A991489ADCB13BD8633D39ACEF14F85744F145BA41ACD979C23C98E4562AEB9EB861CF6AD694DC24A51D191522A51717B1CBFF00C29BF067DA0B94BD2A4866437071C76F61FCEBD016D6D74ED32D6C6CA08EDADA34D88B1AE0633D05695B1552B2F7BA114A8429EDD43ECD2237986573B947CBDAACA165B27E7710460FF779AE7B1AA68AB346E76313F30EB52210E9804838C535761A0D58B0A7201502A58DB036EEE9D284042FB5B55D3DDB96F39D7D38F29CFF00415B417D0102BD3C27F0CC27B993E2A2A74A51BC126EADBE5C7FD378E98A0AE30467BD73637E35E85D2F843712017421B27193FAD21CED2CBC115CA9EA5B5A0AE03439938C73552ED1584647209F94FA5080AA0ECDC48E578FAD31A745E5F79FC334A2B5D01BD351D7572AB183B9B9C303DF8ABB6374D7319591595D7A31E8C2AB6417BB2DC60B0DAC3806A61FEA1D1863238A9DC645361943A8CB8F7C543F69392A6DA52BDF918AA24905E5A888AB36C2A3EE918C539595D3629FC686C1584655C9E4545249B7E5EA48FC0D1AB1F91138DD11E066A1B795A59311ABB1538181D2A5DAF71DD976112749181F4E2A4555DC01E82982D873ABCEC91AE07A1F4A7B6549471864E0D1D0435DB08514714E0A248FE5E580E9EB4865700AE30C339A52C792E841078E7AFBD0B6B05869C904AF51CE6948DF09F338EF4F71152ED55A34239527E5F6AAB9F2D9B70E57A1A520431A74032FBC8F619A7DC5CA0801CB618707BD524C39922D585DB5C218E4043019573D08F4ABB1E4E55871EB49B044D18C44E846011C5452E1A30C065874E714D0321372DBB6FD9A523F8B918A916F2D44651C98C819DA474A169A0AF7D4723A326D53D790691D572791D851E43B752377DBF29E491D7B1A89BE689B800F6A4D31A2BC32B3C9B115D8A9C00055E88499C48C0FB63142F215F5D4902AEE03B77A7481A6DB128C73C1FEED032421A3CC520C3201CD319B6A32A0EA3F3A188722891303EF01C7BFB557C15EE339A4314B1E77A1E0F1CF5A6E339C751CE69DD8ADA0C52CD7DA7165C9F3DB03FED9495BC154F24364FBD7A784FE198CF732FC524AE948CA0F1776A707FEBBC751CE159B7C798D87DF43C83F4AE7C6FC6BD0BA7B5885598E41E39FCAA46618DA31C8EB5C9B1A6E296033B88F4C93DAAB5E490470A067DBFDD51CD52772599735CC2E77A3961D87AD4D64CE4161F2374E6B34FA96D1203BD8864048C824FA54F6C9B1F7866C0E306AAF744AD0BC1B0BBB3F9D35E68CA659805228EA32BACA5B"
    $BackgroundPic &= "90723B814492BAA829D73C8A2F60422CDBCF9722E777048EB53DA80B08D99C13D4D27E40874C2357CAE371ED9A8E7DBB381FFD7A036234DA57934B10557182037502AAC2B9303B704B823A9207E94E077672791CF1498D0D8E59A37DC70003F28153DFB0308B93C330C631CF1DE90742909269220546C047258726ACC64A90571F2F4E69F90AFD42E30E77AE627EACA7907E950066C91486485940C0C1CF19A5C851F31071DF34D485B6E57BB9208EDC6E70A09F9475ACB9AE6073B964240A536C224964CEC4B0F91BDEA5DDB9F6B2A9607A9A69D81A26B78F6B86566017B1ABEA78C8A1A1A6234C8572CC00E955965DD92A723D07A51E62F2079595329C1CF4A459C93B5D7258E09A2F71D89ED15523F9338CF734E9846A411F78D26047315D8481D3D2A38F18E4D34171630AAE3E6C31E40F5A94120025D581E4903A734C576F71FB83753DB2298B24A8E58E0283F2E3A9A81F62CDE36F816E49C37DDC11D7DEA8A4B34916E41B011C9618355D6E27D8B1192A0018F971F9D2CF8930C018A5EADDC352E83BF4200ED93F4A9372A818C1CF19A77B06E3071A969E09E93377FF00A65256EFCB93919FC6BD3C26B4CC67B995E2CCAE90BC11FE976DD7FEBBC74C7E7B6724573E37E35E8552D8817289B5F9E7AD4723C8D8F2F8C8E32383CD72357D8D361F147E6F12924F75A2FEDA396178846470390319ED8CD0989A31BFB19136E5886049EBC7E557F724318DB8F4C91D7B50EC816A35C63E64C60F5AB96872854A8DDD7DA92681DC9C248F1E37819F6A84DB08A33F319580E19AA9892B95F4C5F964DD9CEFA92451938391F4A95A0D0C854F9809C55C04EC0001D47B5032BC92627C027006334B707F77F29EA3B9E940D1009002158E09ECBFCEA7B65DC7893907383CF34E366C4EE493318D33275CE7007535109D9C61564E7F8B18C50D09166DD4ED3BB83D87A54F21F9101C6F53F9D00472600DCDD4FA9AAE92012E38C9ED40D9339C8E9BAA050D1821F904F5A158064AEE40F2B8EB8E3834E890C9F2CA493D768EF4B661B8EBCB78DE26884647CBC1038FCEB13FB1510005981CE7AF03DB155A6EC92F0290443182470491D68718F9971D39352DA1D8B5667E52A57E6C67DAAC0591D31B80FC38AA4D7413B917D9846A72C656E482C3A1AABA72FEF26DDD7754B4326954066C1E3E9DEA28D4F9809C7068197413B08503D874A826936CF819C01D7DE8BE802CEDFBBE3A907BD561205C06E09ECA3AD1E43E84F6E9BC91BF927904F5A9A566442D2119272401D7D2ABA13D4844E5C7CA9273DF18DB562D9490777E03FAD2D80B0E7F7215B1B83034C9381BD8E3B72681A2B070251C0C9ED5339E09C6EE2860884064DDB8704F07351CAEC4623E39201C719A1AEC1B096E5FFB4AC3CCFBC666C0FF00B64F5D11720E322BD3C1FF000CC6A7C463F8C0634221720FDA6DF1C7FD374AAF6F31618639C7AD73E37E35E83A7B1338DCD9C03EF480EE618248C75AE4B9B0302B229EC4E0F152CAC547B52BDC2C55923564DA7F0AAD2C47660F183934DB248C912308D46E6E8476AD08146ECE318A95A8EC5AE028538C66A2B97558484C1F5E7A556E065A48219BE50007E706B404D1B49E515272B92DDA92EC174356026404120631C74A92E1763A60E7271834EC24EE88264025663F9D46EC5D72393DA93B0CAF023076DC55BE5C311D452DB48A8CC880B007EF0EF531D16A0DF62EACCA46D0CBBF3D8F22A42094002E4F5154AEC4360668CB6738CE71532488EFB41058720508624AACCDFBC0871D2AACEA705C11BBFD91556BE82DB516DA5246D639C71CF5A9DC6F39C03E869741A101DCC30734382AC1874CE0F14AE34AE4B212ABDB1559D159083D0D3426569626F2CA9E39C9A858AB111AF2DD08A4D892342DD464023181F955B180B838E6843239DD56221304F7E7A5650904536F5C0DFD41A1E9B05CD013C6CEB1952772F27B0A6884990104E3DBA534857EC49729B154839C9C7350DC20F38B1A4044CC5D78E71C0AAF0A4826F98AB100EEC0E454CB7BA1AB0412247232A65875DC2AF2CCB8DBB86FE3A75AAEB6417BEA72BF15356BFD1B46D22E6C5AE37BEB9630CA9020679A369D55E303BEE048FC6A9691F1334D9E2999F4AD4ADA70E8915AC810BCEED72D6C4210C55B122804838C3A9A7602BEA8BE22BBF8A171A4C7E30D460B55D25F51B6B7B78A244128955555CB23332F5CE08CD58F865E21D63C57345797370AD6163A55B5BDD26D19975074479B2474D83030382643E9420654F8C3AB6ADA76A5E18B5D36F755B74BFBB9E3B81A55A2CD3BAADBC8E0282A46772839C7404F406A08FE2869BA041369DA9E9DE2197FB32D61FB55DDCC0B9123C4AF1C6EC30048C5B6F40377A645167B879169FE2C690F1E889FD957A6EF5463FE8CAF1B342826F2B7E4362405B95D9B8B0048E869F7BF14ECAC24D59352F0FEAD63FD9A62526678313492BED8A35DAE76B30F9B0F8C2F2702803ADF0A6AA9AF59E87AC436F35AADD33308A500B2FEEE4079070471C10704608E0D75F893B73F857A78477A66353466478C5F7E84CA1F693736F838E7FD7C759C9696031B903C87B9739FE758633E35E810574588ED638C37972320E0E0BE547E7446CA141CAE7B735C8F566AB4D092461B57E7C0C8EF4E237372471CE73D6A6C3B91C81436E6231EA4D4176FFC0A776E3C8F4A69DB413D47448615E76658D4F09C03BB6D3697412BF51E8EA4E038CE7A66A3BD31630A5413D7E94BC86665C1FDF21070B9E79AB96C9193BDB6BA93C027D29458DA34A320F2187E06A1B8C34F11E0AA7CCDCE31E9549684DFB19B79212CDB650323BF4A2D67410EE322C99EE0D4ADF61BD88844"
    $BackgroundPic &= "66DDCBC61BFBAD86A2DA18E120A966C0C64B75AAB6961799752350A1F80C0548641B32A558F719E94ACAE52DAC311F924B7B53126F264CE4119C63A5160249A72CCDF36EC761CD32733480246FE5F192D8CF1ED4E3A132D4852D2C001E6AF9921EE5CE7F435662B48933E5C8D1E474DF903F034EE2B0232819DCBC1E39EF523B0F2C7CD8C9E6A6D72EE388DC7191EB926A39000DB895C7D68482E4376F85DAA7716EDEDEB4B0A185727665BA5568C9D513C2704EEDB4E565248DE33E95361EC36F4C5B70A54311597747E752BC00477A4DBDC6922DDBA46CDB988642700135A51953D187E07A55088AE8077887054365F9C607AD67DEC9976DB2819FCA9497504C65A4C82225A44739C1C1E9ED4C09E73B11BA356F46C31A695D09EBA0DB6823848DACEE57B96E4FD6AF471AED0E7008A2D71AD0C7F19F87AD3C53A441637379756C20BB86E83DAC8A8E1E270CB8241C722B9D3E14966F1E68521D2ECEDF44F0F42E6C268E626472C81444CA79C06024C9CE4AA9E4E690CE98699670F8A7FE1222D21BBFB1FD8CAE46CF2CB87E98EB91D73599A7E8D77E13D00E9DE11B6B3BE792F26BA95751BB6847EF5D9D8868E372482428181C0EBC725980D4D2F5DD6B57D2F53F105BD869B3E912B4F6634FBD7B8490C914913F99E643191857E304F5E7A731EAFE00D07525D4DEE2EAF12EF51BAB7BB699645262960DBE5955208C7C832181CF355D09B6A16FF0DB4A8B55B7D462D675B4992058A726E94B5D0499A65F318AE40DEEF9085410718C0C5501F0CAC4C9248FE29D7647FB77DBD19DE0223B92D93201E57CC71F28DFBB0B803181498D6876DA258C5A6A68DA7C334F3AC0E57CCB898BC8E7CA932CCC7A92735D332331C8CE0FA0CD7A583D2998D4D589710C171118A78A39A23CB2C8370241C8E0FB81501D334DFF00A06D8E0F19308FF0AE9714F722E29D2B4CCE3FB334FCFF00D711FE14C1A569DB88FECFB0E3AFEE07F852E58F60BB03A5E9BBB1FD9D63C7FD305FF0A0695A6E093A7D8F1D47D9D7FC28E58F60BB03A6E96173FD9B618F4F207F8535B4DD28673A7D8E3BFEE07F853E55D82EC4FECDD23AFF006759127FE9DC7F853BFB3749C0C69B6246703FD1C7F851C8BB05C71D2F4B2401A75873D0FD9D7FC293FB2B4E04E34FB1E3FE982FF851CB1EC17628D334EDBC69F6231EB00FF0A45D274D24B7F6769E71D7300FF0A3963D82EC71D2B4CC06FECBD3FF00EFC0FF000A41A56978E74CB11FF6C57FC2972AEC1762FF0066698318D3ECFF00EFC8E3F4A56D374E3C9D3AC8E4632621FE14F95760B87F6569A30A34CB0F6FDC8FF0A60D2F4F0C47F67D86475FDC0FF0A5CABB05D83697A6EEC7F6758F1FF4C17FC281A569A724E9F6391FF4EEBCFE9472C7B05D81D374B0B9FECDB1FF00BF03FC29A74DD28127FB3EC47FDB01FE14F95760BB13FB3B49233FD9F6473FF4C07F853BFB3749C71A6D8919C0CDB8FF000A395760B8E3A669848034FB1E7A7EE17FC290E95A7027FE25F6271FF4C17FC28E58F60BB14697A69071A758F1EB02FF008522693A6927FE25DA79C75FDC0FF0A3963D82EC71D2B4CDB9FECCB0C0FF00A623FC293FB2B4CC73A6588CFA42BFE14B95760BB0FECBD2F1C69D67EFFB95FF000A3FB2F4C1C8D32C7D33E48FF0A7CABB05D8EFECAD33017FB32C3F1847F8547FD93A686DBFD9DA7E476FB38FF0A5CABB05D8A74BD341C0D3AC7F08147F4A51A5E9C73FE8165C73FEA179FD29F2C7B05D8874CD2F6EE3A6D81FFB775FF0A63699A4E7274EB019FF00A771FE1472AEC17620D3747C67FB3AC8E7A7FA38FF000A9069FA585F974FB22071FEA07F851C8BB05C7369DA6B1E74FB239E06601FE14874AD38123FB3EC78FF00A60BFE1472AEC1705D2F4D20FF00C4BEC73EF02FF8522693A6B13FF12EB06C75FDC0FF000A3963D82EC79D2B4CDB9FECCB0E3FE988FF000A6FF65E99DF4DB219F4847F852E55D82EC3FB2F4BE31A75967BFEE57FC297FB334D03234DB2FA9847F853E55D82EC5FECAD30003FB32C0FD611FE14CFECBD3C363FB3EC323B7903FC2972AEC1760DA569A0E3FB3AC73FF5C17FC294695A71273A7D8F1CFF00A85E9F951CB1EC1763A1B2B08184D0D8DA46EA0E19210A4763C8A9C94639CA8FCEA92B6C173FFFD9"
    Return Binary($BackgroundPic)
    EndFunc ;==>BackgroundPic

    [/autoit]

    Ich hoffe, das es brauchbar ist... Möge das Script mit euch sein ! :D

    bye
    tv_freeze