#NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=C:\Wallpaperbank2.ico #AutoIt3Wrapper_Outfile=WallpaperBank.exe #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_UseX64=n ; lzma.dll is 32 bit. #AutoIt3Wrapper_Res_Comment=Change Wallpaper using online Wallpaper Bank. #AutoIt3Wrapper_Res_Description=WallpaperBank #AutoIt3Wrapper_Res_Fileversion=1.0.2.2 #AutoIt3Wrapper_Res_Field=Made By|wakillon #AutoIt3Wrapper_Res_LegalCopyright=wakillon 2014 #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer% #AutoIt3Wrapper_Res_Field=Compile date|%longdate% %time% #AutoIt3Wrapper_Run_Au3Stripper=y #au3stripper_Parameters=/so /pe /rm #AutoIt3Wrapper_Run_After=del "%scriptfile%_stripped.au3" #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #Region ;************ Includes ************ #Include #include #EndRegion ;************ Includes ************ AutoItWinSetTitle ( 'Wa11pap3r_Bank' ) If _ScriptIsAlreadyRunning () Then Exit MsgBox ( 262144+16, 'Exiting', 'Wallpaperbank is Already Running !', 4 ) Opt ( 'MustDeclareVars', 1 ) Opt ( 'TrayMenuMode', 1+4 ) Opt ( 'TrayOnEventMode', 1 ) Opt ( 'GUIOnEventMode', 1 ) OnAutoItExitRegister ( '_OnAutoItExit' ) #Region ------ Global Variables ------------------------------ Global Const $tagBITMAPINFOHEADER = 'struct;dword biSize;long biWidth;long biHeight;word biPlanes;word biBitCount;dword biCompression;dword biSizeImage;long biXPelsPerMeter;long biYPelsPerMeter;dword biClrUsed;dword biClrImportant;endstruct' Global Const $tagSECURITY_ATTRIBUTES = 'dword Length;ptr Descriptor;bool InheritHandle' Global Const $tagSIZE = 'struct;long X;long Y;endstruct' Global Const $tagGUID = 'struct;ulong Data1;ushort Data2;ushort Data3;byte Data4[8];endstruct' Global Const $tagGDIPIMAGECODECINFO = 'byte CLSID[16];byte FormatID[16];ptr CodecName;ptr DllName;ptr FormatDesc;ptr FileExt;ptr MimeType;dword Flags;dword Version;dword SigCount;dword SigSize;ptr SigPattern;ptr SigMask' Global Const $tagGDIPRECTF = 'struct;float X;float Y;float Width;float Height;endstruct' Global Const $tagGDIPSTARTUPINPUT = 'uint Version;ptr Callback;bool NoThread;bool NoCodecs' Global Const $LR_LOADFROMFILE = 0x0010 Global Const $DI_MASK = 0x0001 Global Const $DI_IMAGE = 0x0002 Global Const $DI_NORMAL = 0x0003 Global Const $DI_COMPAT = 0x0004 Global Const $DI_DEFAULTSIZE = 0x0008 Global Const $DI_NOMIRROR = 0x0010 Global Const $GW_HWNDNEXT = 2 Global Const $GW_CHILD = 5 Global Const $GDIP_SMOOTHINGMODE_DEFAULT = 0 Global Const $GDIP_SMOOTHINGMODE_HIGHQUALITY = 2 Global Const $GDIP_SMOOTHINGMODE_ANTIALIAS8X8 = 5 Global Const $tagICONINFO = 'bool Icon;dword XHotSpot;dword YHotSpot;handle hMask;handle hColor' Global Const $tagBITMAP = 'struct;long bmType;long bmWidth;long bmHeight;long bmWidthBytes;ushort bmPlanes;ushort bmBitsPixel;ptr bmBits;endstruct' Global Const $tagDIBSECTION = $tagBITMAP & ';' & $tagBITMAPINFOHEADER & ';dword dsBitfields[3];ptr dshSection;dword dsOffset' ; WinHttp variables Global Const $hWINHTTPDLL__WINHTTP = DllOpen ( 'winhttp.dll' ) Global Const $ICU_DECODE = 0x10000000 Global Const $ICU_ESCAPE = 0x80000000 Global Const $WINHTTP_QUERY_CONTENT_LENGTH = 5 Global Const $WINHTTP_QUERY_RAW_HEADERS_CRLF = 22 Global Const $WINHTTP_QUERY_CONTENT_TYPE = 1 Global Const $WINHTTP_FLAG_ASYNC = 0x10000000 Global Const $WINHTTP_FLAG_ESCAPE_DISABLE = 0x00000040 Global Const $WINHTTP_NO_ADDITIONAL_HEADERS = '' Global Const $WINHTTP_NO_REQUEST_DATA = '' Global Const $WINHTTP_NO_HEADER_INDEX = 0 Global Const $WINHTTP_NO_PROXY_NAME = '' Global Const $WINHTTP_NO_PROXY_BYPASS = '' Global Const $WINHTTP_NO_REFERER = '' Global Const $INTERNET_DEFAULT_PORT = 0 Global Const $WINHTTP_DEFAULT_ACCEPT_TYPES = 0 Global Const $WINHTTP_ACCESS_TYPE_NO_PROXY = 1 Global Const $WINHTTP_HEADER_NAME_BY_INDEX = '' Global Const $WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH = 2 Global Const $WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM = 0 Global Const $WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW = 1 Global Const $WINHTTP_OPTION_REDIRECT_POLICY = 88 Global Const $WINHTTP_OPTION_PARENT_HANDLE = 21 Global Const $WINHTTP_OPTION_CONTEXT_VALUE = 45 Global Const $WINHTTP_OPTION_AUTOLOGON_POLICY = 77 Global Const $WINHTTP_OPTION_CODEPAGE = 68 Global Const $WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH = 83 Global Const $WINHTTP_OPTION_CONNECT_RETRIES = 4 Global Const $WINHTTP_OPTION_CONNECT_TIMEOUT = 3 Global Const $WINHTTP_OPTION_DISABLE_FEATURE = 63 Global Const $WINHTTP_OPTION_ENABLE_FEATURE = 79 Global Const $WINHTTP_OPTION_ENABLETRACING = 85 Global Const $WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER = 74 Global Const $WINHTTP_OPTION_MAX_CONNS_PER_SERVER = 73 Global Const $WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS = 89 Global Const $WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE = 90 Global Const $WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE = 92 Global Const $WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE = 91 Global Const $WINHTTP_OPTION_READ_BUFFER_SIZE = 12 Global Const $WINHTTP_OPTION_RECEIVE_TIMEOUT = 6 Global Const $WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT = 7 Global Const $WINHTTP_OPTION_REJECT_USERPWD_IN_URL = 100 Global Const $WINHTTP_OPTION_REQUEST_PRIORITY = 58 Global Const $WINHTTP_OPTION_RESOLVE_TIMEOUT = 2 Global Const $WINHTTP_OPTION_SECURE_PROTOCOLS = 84 Global Const $WINHTTP_OPTION_SECURITY_FLAGS = 31 Global Const $WINHTTP_OPTION_SECURITY_KEY_BITNESS = 36 Global Const $WINHTTP_OPTION_SEND_TIMEOUT = 5 Global Const $WINHTTP_OPTION_SPN = 96 Global Const $WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS = 101 Global Const $WINHTTP_OPTION_WORKER_THREAD_COUNT = 80 Global Const $WINHTTP_OPTION_WRITE_BUFFER_SIZE = 13 Global Const $WINHTTP_OPTION_CALLBACK = 1 Global Const $WINHTTP_OPTION_PASSPORT_SIGN_OUT = 86 Global Const $WINHTTP_OPTION_PASSWORD = 0x1001 Global Const $WINHTTP_OPTION_PROXY_USERNAME = 0x1002 Global Const $WINHTTP_OPTION_PROXY_PASSWORD = 0x1003 Global Const $WINHTTP_OPTION_USER_AGENT = 41 Global Const $WINHTTP_OPTION_USERNAME = 0x1000 Global Const $WINHTTP_OPTION_CLIENT_CERT_CONTEXT = 47 Global Const $WINHTTP_OPTION_GLOBAL_PROXY_CREDS = 97 Global Const $WINHTTP_OPTION_GLOBAL_SERVER_CREDS = 98 Global Const $WINHTTP_OPTION_HTTP_VERSION = 59 Global Const $WINHTTP_OPTION_PROXY = 38 Global Const $WINHTTP_OPTION_CONNECTION_INFO = 93 Global Const $WINHTTP_OPTION_URL = 34 Global Const $WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT = 81 Global Const $WINHTTP_OPTION_PASSPORT_COBRANDING_URL = 82 Global Const $WINHTTP_OPTION_EXTENDED_ERROR = 24 Global Const $WINHTTP_OPTION_HANDLE_TYPE = 9 Global Const $WINHTTP_FLAG_SECURE = 0x00800000 Global Const $MF_BYPOSITION = 0x00000400 ; TaskDialog Global Variables : Global $hTDL_TaskDialogDll = DllOpen ( 'comctl32.dll' ), $_TDL_fUseXTaskDlg = False Global Const $TDF_ENABLE_HYPERLINKS = 1 Global Const $TDF_USE_COMMAND_LINKS = 16 Global Const $TDCBF_CLOSE_BUTTON = 32 Global Const $TDCBF_CANCEL_BUTTON = 8 Global Const $TD_INFORMATION_ICON = 65533 Global Const $TDN_HYPERLINK_CLICKED = 3 Global $__TDL__ALIGN = 'align 4;' _TaskDialog_LoadDLL () If $_TDL_fUseXTaskDlg Then $__TDL__ALIGN = '' Global Const $tagTASKDIALOGCONFIG = $__TDL__ALIGN & 'UINT cbSize;HWND hwndParent;handle hInstance;dword dwFlags;int dwCommonButtons;ptr pszWindowTitle;ptr MainIcon;' & _ 'ptr pszMainInstruction;ptr pszContent;UINT cButtons;ptr pButtons;int nDefaultButton;UINT cRadioButtons;ptr pRadioButtons;int nDefaultRadioButton;ptr pszVerificationText;' & _ 'ptr pszExpandedInformation;ptr pszExpandedControlText;ptr pszCollapsedControlText;ptr FooterIcon;ptr pszFooter;ptr pfCallback;LONG_PTR lpCallbackData;UINT cxWidth;' ; Windows Constants Global Const $WS_POPUP = 0x80000000 Global Const $WS_EX_LAYERED = 0x00080000 ; Global Variables Global $sTempDir = @TempDir & '\WB' Global $sRegKeySettings = 'HKCU\Software\WallpaperBank\Settings' Global $idTrayItemAbout, $idTrayItemAddToFav, $idTrayItemChange, $idTrayItemExit, $idTrayItemBanned, $idTrayItemSaveAs, $idTrayItemSettings, $idTrayItemUndo Global $hUser32DLL = DllOpen ( 'user32.dll' ) Global $sVersion = _ScriptGetVersion () Global $sSoftTitle = 'WallpaperBank v' & $sVersion Global $aAnimals, $aCars, $aDrawings, $aHome, $aLandscape, $aMisc, $aPaint, $aPeople, $aPlanes, $aPlants, $aSexy, $aSpace, $aSport, $aYours, $aFavorites, $aBanned Global $w, $hGuiPreLoader, $IdAnimatedGifCtrl Global $sUserAgent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)' Global $idRadioAnimals, $idRadioCars, $idRadioDrawings, $idRadioFavorites, $idRadioHome, $idRadioLandscape, $idRadioMisc, $idRadioPaint, $idRadioPeople, $idRadioPlanes, $idRadioPlants, $idRadioSexy, $idRadioSpace, $idRadioSport, $idRadioYours, $idRadioTiled, $idRadioCentered, $idRadioStretched Global $hGuiSettings, $aCurrentType, $aWallpaperOld[1], $sBmpFile, $sRegKeyDesktop = 'HKCU\Control Panel\Desktop', $sLastSaveDir Global $idChkBoxMinimizeAll, $idChkBoxCheckForUpdate, $idChkBoxStartWithWindows, $idChkBoxChangeAtStart, $idChkBoxHideIcons Global $hGraphic, $sString = '00', $hBrush1, $hFormat, $hFamily, $hFont1, $tLayout, $aInfo, $iPercent=0, $hBrush2, $hGuiPreLoaderText Global $idButtonOpenFavorites, $idButtonSelectYours, $idButtonOpenBanned, $aPosBak, $aRandom, $iUseDir = 0, $iIconsHidden, $iAdlib = 1, $iDisableAbout, $hTimerInit, $iWaterEffectEnable, $iTimeOut = 2000 Global $sTopicUrl = 'http://www.autoitscript.com/forum/topic/158247-wallpaperbank-v1020au3/', $sIniUrl = 'http://tinyurl.com/pj7dy83' Global $hWaterDll, $iXwb, $iYwb=100, $iMsg, $sFlippedBMP, $iBMPWidth, $iBMPHeight, $iTimer1 = 3000, $iTimer2 = 10000 Global $ghGDIPBrush = 0, $ghGDIPDll = 0, $giGDIPRef = 0, $giGDIPToken = 0, $gbGDIP_V1_0 = True, $__Ext = 0, $__iRGBMode = 1, $__gaWinList_WinAPI[64][2] = [[0, 0]] Global $iSexyEnable = 0 #EndRegion --- Global Variables ------------------------------ #Region ------ Init ------------------------------ _GDIPlus_Startup () AutoItWinSetTitle ( 'AutoIt - ' & $sSoftTitle ) If RegRead ( $sRegKeySettings, 'CheckForUpdate' ) = 1 Then _UpdateLookFor () _FileInstall () _DataLoad () _GuiSettingsCreate () $sBmpFile = RegRead ( $sRegKeyDesktop, 'Wallpaper' ) _ArrayAdd ( $aWallpaperOld, $sBmpFile ) _GuiCreateAnimatedGifWindow () _TrayMenu () If RegRead ( $sRegKeySettings, 'ChangeAtStart' ) = 1 Then If Not _GuiCtrlIsChecked ( $idRadioYours ) And Not _GuiCtrlIsChecked ( $idRadioFavorites ) Then $hTimerInit = TimerInit () Do Sleep ( 500 ) If TimerDiff ( $hTimerInit )/1000 > 60 Then ExitLoop ; wait a min for connection Until _InternetIsAvailable () If _InternetIsAvailable () Then _WallpaperChange () Else _WallpaperChange () EndIf EndIf #EndRegion --- Init ------------------------------ While 1 Sleep ( 500 ) WEnd Func _About () If WinExists ( $sSoftTitle ) Then Return _GuiSettingsHide () TraySetOnEvent ( -13, '_WallpaperNoChange' ) ; $TRAY_EVENT_PRIMARYDOUBLE Opt ( 'TrayOnEventMode', 0 ) Opt ( 'TrayIconHide', 1 ) Local $hGuiAbout = GUICreate ( '' ) GUISetState ( @SW_HIDE, $hGuiAbout ) Local $pnButton, $pnRadioButton, $pfVerificationFlagChecked Local $iWidth = 450 Local $ContentText = @CRLF & 'Informations' & @CRLF & @CRLF _ & 'This program is free and dedicated to my daughter Nina who helped me to create it.' & @CRLF _ & 'WallpaperBank allows you to use more than 26,000 online Wallpapers' & @CRLF _ & 'from 3 Websites :' & @CRLF & @CRLF _ & 'GoodFon.com' & @CRLF _ & 'BadFon.ru' & @CRLF _ & 'BizhiBaidu.com used by BaiduWP' & @CRLF & @CRLF _ & 'Wallpapers are sorted by categories and displayed after a random selection.' & @CRLF _ & 'You can add current Wallpaper to a favorites or a banned directory (Attention there is some doublons).' & @CRLF _ & 'You can also use your own Wallpapers by selecting the "Yours" type.' & @CRLF _ & 'Landscape is the default type.' & @CRLF _ & 'Jpg, png, gif, bmp Wallpaper formats are supported.' & @CRLF _ & 'Access Settings by Tray Menu.' & @CRLF _ & 'Double click on tray icon for quickly change to a random Wallpaper of the selected category.' & @CRLF & @CRLF _ & 'Thanks to AutoIt Community' & @CRLF & @CRLF _ & 'wakillon' Local $sDetails = 'Buttons were created with the Online Buttons Generator : chimply.com' & @CRLF _ & 'WallpaperBank was created with AutoIt v3.3.10.2' & @CRLF _ & 'Try this powerfull scripting language !' & @CRLF & @CRLF Local $CallBackFunc = DllCallbackRegister ( '_TaskDialog_Callback', 'long', 'hwnd;uint;wparam;lparam;long_ptr' ) Local $ret = _TaskDialog_IndirectParamsMod ( $pnButton, _ ; ByRef $pnButton $pnRadioButton, _ ; ByRef $pnRadioButton $pfVerificationFlagChecked, _ ; ByRef $pfVerificationFlagChecked $hGuiAbout, _ ; $hwndParent 0, _ ; $hInstance BitOR ( $TDF_ENABLE_HYPERLINKS, $TDF_USE_COMMAND_LINKS ), _ ; $dwFlags $TDCBF_CLOSE_BUTTON, _ ; $dwCommonButtons $sSoftTitle, _ ; $szWindowTitle $TDCBF_CANCEL_BUTTON, _ ; $MainIcon 'About', _ ; $szMainInstruction $ContentText, _ ; $szContent '', _ ; $szVerificationText $sDetails, _ ; $szExpandedInformation 'Hide details', _ ; $szExpandedControlText 'Show details', _ ; $szCollapsedControlText $TD_INFORMATION_ICON, _ ; $FooterIcon 'Visit autoitscript.com', _ ; $szFooter DllCallbackGetPtr ( $CallBackFunc ), _ ; $pfCallback 0, _ ; $lpCallbackData $iWidth _ ; $cxWidth ) DllCallbackFree ( $CallBackFunc ) $CallBackFunc = 0 GUIDelete ( $hGuiAbout ) Opt ( 'TrayOnEventMode', 1 ) TraySetOnEvent ( -13, '_WallpaperChange' ) ; $TRAY_EVENT_PRIMARYDOUBLE Opt ( 'TrayIconHide', 0 ) EndFunc ;==> _About () Func _ArrayRandomGenerate ( $iStart=1, $iItemNumber=100 ) SRandom ( @SEC ) Local $aArray[$iItemNumber], $j, $k For $i = $iStart To $iStart + $iItemNumber - 1 $aArray[$i-$iStart] = $i Next For $i = UBound ( $aArray ) - 1 To 0 Step -1 $j = Random ( 0, $i, 1 ) $k = $aArray[$j] $aArray[$j] = $aArray[$i] $aArray[$i] = $k Next Return $aArray EndFunc ;==> _ArrayRandomGenerate () Func _Base64Decode ( $input_string ) ; by trancexx Local $struct = DllStructCreate ( 'int' ) Local $a_Call = DllCall ( 'Crypt32.dll', 'int', 'CryptStringToBinary', 'str', $input_string, 'int', 0, 'int', 1, 'ptr', 0, 'ptr', DllStructGetPtr ( $struct, 1 ), 'ptr', 0, 'ptr', 0 ) If @error Or Not $a_Call[0] Then Return SetError ( 1, 0, '' ) Local $a = DllStructCreate ( 'byte[' & DllStructGetData ( $struct, 1) & ']' ) $a_Call = DllCall ( 'Crypt32.dll', 'int', 'CryptStringToBinary', 'str', $input_string, 'int', 0, 'int', 1, 'ptr', DllStructGetPtr ( $a ), 'ptr', DllStructGetPtr ( $struct, 1 ), 'ptr', 0, 'ptr', 0 ) If @error Or Not $a_Call[0] Then Return SetError ( 2, 0, '' ) Return DllStructGetData ( $a, 1 ) EndFunc ;==> _Base64Decode () Func _BrowserGetDefault () Local $sDefautBrowser = StringRegExp ( RegRead ( 'HKCR\http\shell\open\command', '' ), '(?s)(?i)"(.*?)"', 3 ) If Not @error And FileExists ( $sDefautBrowser[0] ) Then Return $sDefautBrowser[0] Local $sUserChoice = RegRead ( 'HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice', 'Progid' ) If Not @error Then $sDefautBrowser = StringRegExp ( RegRead ( 'HKLM\Software\Classes\' & $sUserChoice & '\shell\open\command', '' ), '(?s)(?i)"(.*?)"', 3 ) If Not @error And FileExists ( $sDefautBrowser[0] ) Then Return $sDefautBrowser[0] EndIf Return 'iexplore.exe' EndFunc ;==> _BrowserGetDefault () Func _DataLoad () Local $aLogList = _FileListToArray ( $sTempDir, '*.dat', 1, True ) ; based 1 Local $aLog For $i = 1 To UBound ( $aLogList ) -1 _FileReadToArrayEx ( $aLogList[$i], $aLog, 0 ) Switch $i Case 1 $aAnimals = $aLog Case 2 $aCars = $aLog Case 3 $aDrawings = $aLog Case 4 $aHome= $aLog Case 5 $aLandscape = $aLog Case 6 $aMisc = $aLog Case 7 $aPaint = $aLog Case 8 $aPeople = $aLog Case 9 $aPlanes = $aLog Case 10 $aPlants = $aLog Case 11 $aSexy = $aLog Case 12 $aSpace = $aLog Case 13 $aSport = $aLog EndSwitch Next FileDelete ( $sTempDir & '\*.dat' ) EndFunc ;==> _DataLoad () Func _DefaultBrowserOpenUrl ( $sUrl ) Local $sDefaultBrowser = _BrowserGetDefault () If FileExists ( $sDefaultBrowser ) Then ShellExecute ( $sUrl ) Else ShellExecute ( 'iexplore.exe', $sUrl ) EndIf EndFunc ;==> _DefaultBrowserOpenUrl () Func _DesktopIconsHide () Local $hDesktop = WinGetHandle ( '[CLASS:Progman;TITLE:Program Manager]' ) Local $hSysListView = ControlGetHandle ( $hDesktop, '', 'SysListView321' ) If _WindowIsVisible ( $hSysListView ) Or $iAdlib = 0 Then WinSetState ( $hSysListView, '', @SW_HIDE ) AdlibRegister ( '_DesktopIconsHide', 5000 ) $iIconsHidden = 1 $iAdlib = 1 Else WinSetState ( $hSysListView, '', @SW_SHOW ) AdlibUnRegister ( '_DesktopIconsHide' ) $iIconsHidden = 0 EndIf EndFunc ;==> _DesktopIconsHide () Func _Exit () Exit EndFunc ;==> _Exit () Func _FileGetExtByFullPath ( $sFullPath ) Local $aFileName = StringSplit ( $sFullPath, '.' ) If Not @error Then Return $aFileName[$aFileName[0]] EndFunc ;==> _FileGetExtByFullPath () Func _FileGetFullNameByFullPath ( $sFullPath ) Local $aFileName = StringSplit ( $sFullPath, '\' ) If Not @error Then Return $aFileName[$aFileName[0]] EndFunc ;==> _FileGetFullNameByFullPath () Func _FileGetFullNameByUrl ( $sFileUrl ) Local $aFileName = StringSplit ( $sFileUrl, '/' ) If Not @error Then Return $aFileName[$aFileName[0]] EndFunc ;==> _FileGetFullNameByUrl () Func _FileGetNameWithoutExtByFullPath ( $sFullPath ) Local $aFileName = StringSplit ( $sFullPath, '\' ) If Not @error Then Return StringLeft ( $aFileName[$aFileName[0]], StringInStr ( $aFileName[$aFileName[0]], '.', 0, -1 ) - 1 ) EndFunc ;==> _FileGetNameWithoutExtByFullPath () Func _FileGetParentFolderPathByFullPath ( $sFullPath ) Local $sFilePath = StringLeft ( $sFullPath, StringInStr ( $sFullPath, '\', 0, -1 ) - 1 ) If Not @error Then Return $sFilePath EndFunc ;==> _FileGetParentFolderPathByFullPath () Func _FileInstall () ; Files If Not FileExists ( $sTempDir ) Then DirCreate ( $sTempDir ) If Not FileExists ( $sTempDir & '\WallpaperCache' ) Then DirCreate ( $sTempDir & '\WallpaperCache' ) If Not FileExists ( $sTempDir & '\Favorites' ) Then DirCreate ( $sTempDir & '\Favorites' ) If Not FileExists ( $sTempDir & '\Banned' ) Then DirCreate ( $sTempDir & '\Banned' ) If Not FileExists ( $sTempDir & '\change5.ico' ) Then Change5Ico ( 'change5.ico', $sTempDir ) If Not FileExists ( $sTempDir & '\undo3.ico' ) Then Undo3Ico ( 'undo3.ico', $sTempDir ) If Not FileExists ( $sTempDir & '\add2.ico' ) Then Add2Ico ( 'add2.ico', $sTempDir ) If Not FileExists ( $sTempDir & '\locked2.ico' ) Then Locked2Ico ( 'locked2.ico', $sTempDir ) If Not FileExists ( $sTempDir & '\Saveas2.ico' ) Then Saveas2Ico ( 'Saveas2.ico', $sTempDir ) If Not FileExists ( $sTempDir & '\Settings2.ico' ) Then Settings2Ico ( 'Settings2.ico', $sTempDir ) If Not FileExists ( $sTempDir & '\about2.ico' ) Then About2Ico ( 'about2.ico', $sTempDir ) If Not FileExists ( $sTempDir & '\exit4.ico' ) Then Exit4Ico ( 'exit4.ico', $sTempDir ) If Not FileExists ( 'C:\Wallpaperbank2.ico' ) Then Wallpaperbank2Ico ( 'Wallpaperbank2.ico', 'c:' ) If Not FileExists ( $sTempDir & '\block-loading.gif' ) Then Blockloadinggif ( 'block-loading.gif', $sTempDir ) If Not FileExists ( $sTempDir & '\button2.jpg' ) Then Button2Jpg ( 'button2.jpg', $sTempDir ) If Not FileExists ( $sTempDir & '\button1.jpg' ) Then Button1Jpg ( 'button1.jpg', $sTempDir ) If Not FileExists ( $sTempDir & '\button3.jpg' ) Then Button3Jpg ( 'Button3.jpg', $sTempDir ) If Not FileExists ( $sTempDir & '\banner5.bmp' ) Then Banner5Bmp ( "banner5.bmp", $sTempDir ) If Not FileExists ( @TempDir & '\GIF89.DLL' ) Then Gif89Dll ( 'GIF89.DLL', @TempDir ) ; Datas If Not FileExists ( $sTempDir & '\Animals.dat' ) Then Data_Animals ( 'Animals.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Cars.dat' ) Then Data_Cars ( 'Cars.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Drawings.dat' ) Then Data_Drawings ( 'Drawings.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Home.dat' ) Then Data_Home ( 'Home.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Landscape.dat' ) Then Data_Landscape ( 'Landscape.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Misc.dat' ) Then Data_Misc ( 'Misc.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Paint.dat' ) Then Data_Paint ( 'Paint.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\People.dat' ) Then Data_People ( 'People.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Planes.dat' ) Then Data_Planes ( 'Planes.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Plants.dat' ) Then Data_Plants ( 'Plants.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Sexy.dat' ) Then Data_Sexy ( 'Sexy.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Space.dat' ) Then Data_Space ( 'Space.dat', $sTempDir ) If Not FileExists ( $sTempDir & '\Sport.dat' ) Then Data_Sport ( 'Sport.dat', $sTempDir ) RunWait ( 'regsvr32.exe ' & @TempDir & '\GIF89.DLL /s', '', @SW_HIDE ) ;~ Sleep ( 10000 ) EndFunc ;==> _FileInstall () Func _FileIsFolder ( $sFilePath ) Return StringInStr ( FileGetAttrib ( $sFilePath ), 'D' ) EndFunc ;==> _FileIsFolder () Func _FileListToArray($sFilePath, $sFilter = '*', $iFlag = 0, $fReturnPath = False) Local $sDelimiter = '|', $sFileList = '', $sFileName = '', $sFullPath = '' $sFilePath = StringRegExpReplace($sFilePath, '[\\/]+$', '') & '\' If $iFlag = Default Then $iFlag = 0 If $fReturnPath Then $sFullPath = $sFilePath If $sFilter = Default Then $sFilter = '*' If Not FileExists($sFilePath) Then Return SetError(1, 0, 0) If StringRegExp($sFilter, '[\\/:><\|]|(?s)^\s*$') Then Return SetError(2, 0, 0) If Not ($iFlag = 0 Or $iFlag = 1 Or $iFlag = 2) Then Return SetError(3, 0, 0) Local $hSearch = FileFindFirstFile($sFilePath & $sFilter) If @error Then Return SetError(4, 0, 0) While 1 $sFileName = FileFindNextFile($hSearch) If @error Then ExitLoop If ($iFlag + @extended = 2) Then ContinueLoop $sFileList &= $sDelimiter & $sFullPath & $sFileName WEnd FileClose($hSearch) If $sFileList = '' Then Return SetError(4, 0, 0) Return StringSplit(StringTrimLeft($sFileList, 1), $sDelimiter) EndFunc ;==> _FileListToArray () Func _FileReadToArrayEx ( $sFilePath, ByRef $aArray, $iFlag=1 ) ; $iFlag for return the array count in the first element. Local $hFileOpen = FileOpen ( $sFilePath, 0 ) If $hFileOpen = -1 Then Return SetError ( 1, 0, 0 ) Local $sFileRead = FileRead ( $hFileOpen ) FileClose ( $hFileOpen ) If StringLen ( $sFileRead ) Then $aArray = StringRegExp ( @CRLF & $sFileRead, '([^\r\n]*)(?:\r\n|\n|\r|$)', 3 ) If @error Then Return SetError ( 3, 0, 0 ) If $iFlag Or $iFlag = Default Then $aArray[0] = UBound ( $aArray ) - 2 Else _ArrayDelete ( $aArray, 0 ) EndIf ReDim $aArray[UBound ( $aArray ) - 1] Else Return SetError ( 2, 0, 0 ) EndIf Return SetError ( 0, 0, 1 ) EndFunc ;==> _FileReadToArrayEx () Func _GDIPlus_BitmapCreateFromHBITMAP($hBmp, $hPal = 0) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipCreateBitmapFromHBITMAP', 'handle', $hBmp, 'handle', $hPal, 'handle*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Return $aResult[3] EndFunc ;==> _GDIPlus_BitmapCreateFromHBITMAP () Func _GDIPlus_BrushCreateSolid($iARGB = 0xFF000000) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipCreateSolidFill', 'int', $iARGB, 'handle*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Return $aResult[2] EndFunc ;==> _GDIPlus_BrushCreateSolid () Func _GDIPlus_BrushDispose($hBrush) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipDeleteBrush', 'handle', $hBrush) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_BrushDispose () Func _GDIPlus_Encoders() Local $iCount = _GDIPlus_EncodersGetCount() Local $iSize = _GDIPlus_EncodersGetSize() Local $tBuffer = DllStructCreate('byte[' & $iSize & ']') Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipGetImageEncoders', 'uint', $iCount, 'uint', $iSize, 'struct*', $tBuffer) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Local $pBuffer = DllStructGetPtr($tBuffer) Local $tCodec, $aInfo[$iCount + 1][14] $aInfo[0][0] = $iCount For $iI = 1 To $iCount $tCodec = DllStructCreate($tagGDIPIMAGECODECINFO, $pBuffer) $aInfo[$iI][1] = _WinAPI_StringFromGUID(DllStructGetPtr($tCodec, 'CLSID')) $aInfo[$iI][2] = _WinAPI_StringFromGUID(DllStructGetPtr($tCodec, 'FormatID')) $aInfo[$iI][3] = _WinAPI_WideCharToMultiByte(DllStructGetData($tCodec, 'CodecName')) $aInfo[$iI][4] = _WinAPI_WideCharToMultiByte(DllStructGetData($tCodec, 'DllName')) $aInfo[$iI][5] = _WinAPI_WideCharToMultiByte(DllStructGetData($tCodec, 'FormatDesc')) $aInfo[$iI][6] = _WinAPI_WideCharToMultiByte(DllStructGetData($tCodec, 'FileExt')) $aInfo[$iI][7] = _WinAPI_WideCharToMultiByte(DllStructGetData($tCodec, 'MimeType')) $aInfo[$iI][8] = DllStructGetData($tCodec, 'Flags') $aInfo[$iI][9] = DllStructGetData($tCodec, 'Version') $aInfo[$iI][10] = DllStructGetData($tCodec, 'SigCount') $aInfo[$iI][11] = DllStructGetData($tCodec, 'SigSize') $aInfo[$iI][12] = DllStructGetData($tCodec, 'SigPattern') $aInfo[$iI][13] = DllStructGetData($tCodec, 'SigMask') $pBuffer += DllStructGetSize($tCodec) Next Return $aInfo EndFunc ;==> _GDIPlus_Encoders () Func _GDIPlus_EncodersGetCLSID($sFileExt) Local $aEncoders = _GDIPlus_Encoders() If @error Then Return SetError(@error, 0, '') For $iI = 1 To $aEncoders[0][0] If StringInStr($aEncoders[$iI][6], '*.' & $sFileExt) > 0 Then Return $aEncoders[$iI][1] Next Return SetError(-1, -1, '') EndFunc ;==> _GDIPlus_EncodersGetCLSID () Func _GDIPlus_EncodersGetCount() Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipGetImageEncodersSize', 'uint*', 0, 'uint*', 0) If @error Then Return SetError(@error, @extended, -1) If $aResult[0] Then Return SetError(10, $aResult[0], -1) Return $aResult[1] EndFunc ;==> _GDIPlus_EncodersGetCount () Func _GDIPlus_EncodersGetSize() Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipGetImageEncodersSize', 'uint*', 0, 'uint*', 0) If @error Then Return SetError(@error, @extended, -1) If $aResult[0] Then Return SetError(10, $aResult[0], -1) Return $aResult[2] EndFunc ;==> _GDIPlus_EncodersGetSize () Func _GDIPlus_FontCreate($hFamily, $fSize, $iStyle = 0, $iUnit = 3) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipCreateFont', 'handle', $hFamily, 'float', $fSize, 'int', $iStyle, 'int', $iUnit, 'handle*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Return $aResult[5] EndFunc ;==> _GDIPlus_FontCreate () Func _GDIPlus_FontDispose($hFont) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipDeleteFont', 'handle', $hFont) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_FontDispose () Func _GDIPlus_FontFamilyCreate($sFamily, $pCollection = 0) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipCreateFontFamilyFromName', 'wstr', $sFamily, 'ptr', $pCollection, 'handle*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Return $aResult[3] EndFunc ;==> _GDIPlus_FontFamilyCreate () Func _GDIPlus_FontFamilyDispose($hFamily) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipDeleteFontFamily', 'handle', $hFamily) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_FontFamilyDispose () Func _GDIPlus_GraphicsCreateFromHWND($hWnd) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipCreateFromHWND', 'hwnd', $hWnd, 'handle*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Return $aResult[2] EndFunc ;==> _GDIPlus_GraphicsCreateFromHWND () Func _GDIPlus_GraphicsDispose($hGraphics) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipDeleteGraphics', 'handle', $hGraphics) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_GraphicsDispose () Func _GDIPlus_GraphicsDrawImageRect($hGraphics, $hImage, $nX, $nY, $nW, $nH) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipDrawImageRect', 'handle', $hGraphics, 'handle', $hImage, 'float', $nX, 'float', $nY, 'float', $nW, 'float', $nH) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_GraphicsDrawImageRect () Func _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString, $hFont, $tLayout, $hFormat, $hBrush) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipDrawString', 'handle', $hGraphics, 'wstr', $sString, 'int', -1, 'handle', $hFont, 'struct*', $tLayout, 'handle', $hFormat, 'handle', $hBrush) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_GraphicsDrawStringEx () Func _GDIPlus_GraphicsFillRect($hGraphics, $nX, $nY, $nWidth, $nHeight, $hBrush = 0) __GDIPlus_BrushDefCreate($hBrush) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipFillRectangle', 'handle', $hGraphics, 'handle', $hBrush, 'float', $nX, 'float', $nY, 'float', $nWidth, 'float', $nHeight) __GDIPlus_BrushDefDispose() If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_GraphicsFillRect () Func _GDIPlus_GraphicsMeasureString($hGraphics, $sString, $hFont, $tLayout, $hFormat) Local $tRectF = DllStructCreate($tagGDIPRECTF) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipMeasureString', 'handle', $hGraphics, 'wstr', $sString, 'int', -1, 'handle', $hFont, 'struct*', $tLayout, 'handle', $hFormat, 'struct*', $tRectF, 'int*', 0, 'int*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Local $aInfo[3] $aInfo[0] = $tRectF $aInfo[1] = $aResult[8] $aInfo[2] = $aResult[9] Return $aInfo EndFunc ;==> _GDIPlus_GraphicsMeasureString () Func _GDIPlus_GraphicsSetSmoothingMode($hGraphics, $iSmooth) If $iSmooth < $GDIP_SMOOTHINGMODE_DEFAULT Or $iSmooth > $GDIP_SMOOTHINGMODE_ANTIALIAS8X8 Then $iSmooth = $GDIP_SMOOTHINGMODE_DEFAULT Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipSetSmoothingMode', 'handle', $hGraphics, 'int', $iSmooth) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_GraphicsSetSmoothingMode () Func _GDIPlus_ImageDispose($hImage) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipDisposeImage', 'handle', $hImage) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_ImageDispose () Func _GDIPlus_ImageGetGraphicsContext($hImage) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipGetImageGraphicsContext', 'handle', $hImage, 'handle*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Return $aResult[2] EndFunc ;==> _GDIPlus_ImageGetGraphicsContext () Func _GDIPlus_ImageGetHeight($hImage) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipGetImageHeight', 'handle', $hImage, 'uint*', 0) If @error Then Return SetError(@error, @extended, -1) If $aResult[0] Then Return SetError(10, $aResult[0], -1) Return $aResult[2] EndFunc ;==> _GDIPlus_ImageGetHeight () Func _GDIPlus_ImageGetWidth($hImage) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipGetImageWidth', 'handle', $hImage, 'uint*', -1) If @error Then Return SetError(@error, @extended, -1) If $aResult[0] Then Return SetError(10, $aResult[0], -1) Return $aResult[2] EndFunc ;==> _GDIPlus_ImageGetWidth () Func _GDIPlus_ImageLoadFromFile($sFileName) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipLoadImageFromFile', 'wstr', $sFileName, 'handle*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Return $aResult[2] EndFunc ;==> _GDIPlus_ImageLoadFromFile () Func _GDIPlus_ImageSaveToFile($hImage, $sFileName) Local $sExt = __GDIPlus_ExtractFileExt($sFileName) Local $sCLSID = _GDIPlus_EncodersGetCLSID($sExt) If $sCLSID = '' Then Return SetError(-1, 0, False) Return SetError(_GDIPlus_ImageSaveToFileEx($hImage, $sFileName, $sCLSID, 0), @error, @extended) EndFunc ;==> _GDIPlus_ImageSaveToFile () Func _GDIPlus_ImageSaveToFileEx($hImage, $sFileName, $sEncoder, $pParams = 0) Local $tGUID = _WinAPI_GUIDFromString($sEncoder) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipSaveImageToFile', 'handle', $hImage, 'wstr', $sFileName, 'struct*', $tGUID, 'struct*', $pParams) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_ImageSaveToFileEx () Func _GDIPlus_RectFCreate($nX = 0, $nY = 0, $nWidth = 0, $nHeight = 0) Local $tRectF = DllStructCreate($tagGDIPRECTF) DllStructSetData($tRectF, 'X', $nX) DllStructSetData($tRectF, 'Y', $nY) DllStructSetData($tRectF, 'Width', $nWidth) DllStructSetData($tRectF, 'Height', $nHeight) Return $tRectF EndFunc ;==> _GDIPlus_RectFCreate () Func _GDIPlus_Shutdown() If $ghGDIPDll = 0 Then Return SetError(-1, -1, False) $giGDIPRef -= 1 If $giGDIPRef = 0 Then DllCall($ghGDIPDll, 'none', 'GdiplusShutdown', 'ulong_ptr', $giGDIPToken) DllClose($ghGDIPDll) $ghGDIPDll = 0 EndIf Return True EndFunc ;==> _GDIPlus_Shutdown () Func _GDIPlus_Startup($sGDIPDLL = Default) $giGDIPRef += 1 If $giGDIPRef > 1 Then Return True If $sGDIPDLL = Default Then If @OSBuild > 4999 And @OSBuild < 7600 Then $sGDIPDLL = @WindowsDir & '\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.6000.16386_none_8df21b8362744ace\gdiplus.dll' Else $sGDIPDLL = 'gdiplus.dll' EndIf EndIf $ghGDIPDll = DllOpen($sGDIPDLL) If $ghGDIPDll = -1 Then $giGDIPRef = 0 Return SetError(1, 2, False) EndIf Local $sVer = FileGetVersion($sGDIPDLL) $sVer = StringSplit($sVer, '.') If $sVer[1] > 5 Then $gbGDIP_V1_0 = False Local $tInput = DllStructCreate($tagGDIPSTARTUPINPUT) Local $tToken = DllStructCreate('ulong_ptr Data') DllStructSetData($tInput, 'Version', 1) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdiplusStartup', 'struct*', $tToken, 'struct*', $tInput, 'ptr', 0) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) $giGDIPToken = DllStructGetData($tToken, 'Data') Return True EndFunc ;==> _GDIPlus_Startup () Func _GDIPlus_StringFormatCreate($iFormat = 0, $iLangID = 0) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipCreateStringFormat', 'int', $iFormat, 'word', $iLangID, 'handle*', 0) If @error Then Return SetError(@error, @extended, 0) If $aResult[0] Then Return SetError(10, $aResult[0], 0) Return $aResult[3] EndFunc ;==> _GDIPlus_StringFormatCreate () Func _GDIPlus_StringFormatDispose($hFormat) Local $aResult = DllCall($ghGDIPDll, 'int', 'GdipDeleteStringFormat', 'handle', $hFormat) If @error Then Return SetError(@error, @extended, False) If $aResult[0] Then Return SetError(10, $aResult[0], False) Return True EndFunc ;==> _GDIPlus_StringFormatDispose () Func __GDIPlus_BrushDefCreate(ByRef $hBrush) If $hBrush = 0 Then $ghGDIPBrush = _GDIPlus_BrushCreateSolid() $hBrush = $ghGDIPBrush EndIf EndFunc ;==> __GDIPlus_BrushDefCreate () Func __GDIPlus_BrushDefDispose($icurError = @error, $icurExtended = @extended) If $ghGDIPBrush <> 0 Then _GDIPlus_BrushDispose($ghGDIPBrush) $ghGDIPBrush = 0 EndIf Return SetError($icurError, $icurExtended) EndFunc ;==> __GDIPlus_BrushDefDispose () Func __GDIPlus_ExtractFileExt($sFileName, $fNoDot = True) Local $iIndex = __GDIPlus_LastDelimiter('.\:', $sFileName) If ($iIndex > 0) And (StringMid($sFileName, $iIndex, 1) = '.') Then If $fNoDot Then Return StringMid($sFileName, $iIndex + 1) Else Return StringMid($sFileName, $iIndex) EndIf Else Return '' EndIf EndFunc ;==> __GDIPlus_ExtractFileExt () Func __GDIPlus_LastDelimiter ( $sDelimiters, $sString ) Local $sDelimiter, $iN For $iI = 1 To StringLen($sDelimiters) $sDelimiter = StringMid ( $sDelimiters, $iI, 1 ) $iN = StringInStr ( $sString, $sDelimiter, 0, -1 ) If $iN > 0 Then Return $iN Next EndFunc ;==> __GDIPlus_LastDelimiter () Func _GuiCreateAnimatedGifCtrl ( $hwnd, $sGifPath, $iWidth, $iHeight, $iLeft=0, $iTop=0, $iGlass=1 ) If Not FileExists ( $sGifPath ) Then Return SetError ( 1 ) Local $oGif = ObjCreate ( 'Gif89.Gif89.1' ) If @error Then Return SetError ( 2 ) Local $oGifCtrl = GUICtrlCreateObj ( $oGif, $iLeft, $iTop, $iWidth, $iHeight ) If Not $oGifCtrl Then Return SetError ( 3 ) If $iGlass Then $oGif.glass = True If IsObj ( $oGif ) Then $oGif.filename = $sGifPath Return $oGifCtrl EndFunc ;==> _GuiCreateAnimatedGifCtrl () Func _GuiCreateAnimatedGifWindow () ; Animated gif preloader Local $hWnd = WinWait ( AutoItWinGetTitle () ) Local $iLoaderSize = 128 $hGuiPreLoader = GUICreate ( '', $iLoaderSize, $iLoaderSize, ( @DesktopWidth - $iLoaderSize )/2, ( @DesktopHeight - $iLoaderSize )/2, $WS_POPUP, $WS_EX_LAYERED, $hWnd ) GUISetBkColor ( 0xABCDEF ) _WinAPI_SetLayeredWindowAttributes ( $hGuiPreLoader, 0xABCDEF, 255 ) $IdAnimatedGifCtrl = _GuiCreateAnimatedGifCtrl ( $hGuiPreLoader, $sTempDir & '\block-loading.gif', $iLoaderSize, $iLoaderSize, 0, 0, 1 ) GUICtrlSetState ( -1, $GUI_HIDE ) GUISetState ( @SW_SHOWNOACTIVATE, $hGuiPreLoader ) $hGuiPreLoaderText = GUICreate ( '', 38, 30, ( @DesktopWidth -$iLoaderSize )/2+46, ( @DesktopHeight - $iLoaderSize )/2+54, $WS_POPUP, $WS_EX_LAYERED, $hGuiPreLoader ) GUISetBkColor ( 0xFC9644 ) _WinAPI_SetLayeredWindowAttributes ( $hGuiPreLoaderText, 0xFC9644, 255 ) GUISetState ( @SW_SHOWNOACTIVATE, $hGuiPreLoaderText ) FileDelete ( $sTempDir & '\block-loading.gif' ) WinMove ( $hGuiPreLoader, '', @DesktopWidth, ( @DesktopHeight - $iLoaderSize )/2, $iLoaderSize, $iLoaderSize, 1 ) WinMove ( $hGuiPreLoaderText, '', @DesktopWidth, ( @DesktopHeight - $iLoaderSize )/2+54, 38, 30, 1 ) EndFunc ;==> _GuiCreateAnimatedGifWindow () Func _GuiCtrlIsChecked ( $IdCtrl ) Return BitAND ( GUICtrlRead ( $IdCtrl ), $GUI_CHECKED ) = $GUI_CHECKED EndFunc ;==> _GuiCtrlIsChecked () Func _GuiCtrlPicButton_RestorePos () If IsArray ( $aPosBak ) Then GUICtrlSetPos ( $aPosBak[4], $aPosBak[0], $aPosBak[1], $aPosBak[2], $aPosBak[3] ) $aPosBak = 0 EndIf $iAdlib = 0 AdlibUnRegister ( '_GuiCtrlPicButton_RestorePos' ) EndFunc ;==> _GuiCtrlPicButton_RestorePos () Func _GuiCtrlPicButton_SimulateAction ( $iCtrlId, $iFlag=1 ) If Not _WindowIsVisible ( $hGuiSettings ) Then Return Local $aPos = ControlGetPos ( $hGuiSettings, '', $iCtrlId ) If Not @error Then GUICtrlSetPos ( $iCtrlId, $aPos[0]+$iFlag, $aPos[1]+$iFlag, $aPos[2]-2*$iFlag, $aPos[3]-2*$iFlag ) $aPosBak = $aPos _ArrayAdd ( $aPosBak, $iCtrlId ) AdlibRegister ( '_GuiCtrlPicButton_RestorePos', 50 ) $iAdlib = 1 EndIf $aPos = 0 EndFunc ;==> _GuiCtrlPicButton_SimulateAction () Func _GuiSettingsCreate () If Regread ( 'HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop', 'NoChangingWallpaper' ) = 1 Then RegWrite ( 'HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\ActiveDesktop', 'NoChangingWallpaper', 'REG_DWORD', 0x00000000 ) Exit MsgBox ( 262144+16, $sSoftTitle, 'Exiting : ' & @CRLF & 'WallpaperBank can not work.' & @CRLF & 'You must restart your computer for the new settings to take effect !', 12 ) EndIf Local $xPos = RegRead ( $sRegKeySettings, 'x' ) If @error Or $xPos = 0 Then $xPos = -1 Local $yPos = RegRead ( $sRegKeySettings, 'y' ) If @error Or $yPos = 0 Then $yPos = -1 $hGuiSettings = GUICreate ( 'WallpaperBank Settings', 500, 390+134+20, $xPos, $yPos, -1, -1 ) GuiSetIcon ( 'C:\Wallpaperbank2.ico' ) GUISetOnEvent ( $GUI_EVENT_CLOSE, '_GuiSettingsHide' ) Local $sType Local $sRegRead = RegRead ( $sRegKeySettings, 'WallpaperType' ) If @error Or $sRegRead = '' Then $sType = 'Landscape' RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'Landscape' ) Else $sType = $sRegRead EndIf GUISetFont ( 9, 600, 0 ) #Region ------ Wallpaper Types ------------------------------ Local $x=20, $y = 40+114 GUICtrlCreateGroup ( ' Select Wallpaper Type ', 10, $y-30, 480, 120 ) GUIStartGroup () $idRadioAnimals = GUICtrlCreateRadio ( 'Animals', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aAnimals ) -1 & ' Wallpapers available', 'Animals', 1, 1 ) If $sType = 'animals' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aAnimals EndIf $x+=100 $idRadioCars = GUICtrlCreateRadio ( 'Cars', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aCars ) -1 & ' Wallpapers available', 'Cars', 1, 1 ) If $sType = 'cars' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aCars EndIf $x+=100 $idRadioDrawings = GUICtrlCreateRadio ( 'Drawings', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aDrawings ) -1 & ' Wallpapers available', 'Drawings', 1, 1 ) If $sType = 'Drawings' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aDrawings EndIf $x+=100 $idRadioFavorites = GUICtrlCreateRadio ( 'Favorites', $x, $y, 80, 20 ) DllCall ( 'UxTheme.dll', 'int', 'SetWindowTheme', 'hwnd', GUICtrlGetHandle ( -1 ), 'wstr', 0, 'wstr', 0 ) GUICtrlSetColor ( -1, 0xFF0000 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, ' Use Only Favorites Wallpapers', 'Favorites', 1, 1 ) If $sType = 'Favorites' Then $aFavorites = _MultiFileTypeListToArray ( $sTempDir & '\Favorites', '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) If UBound ( $aFavorites ) -1 > 0 Then $iUseDir = 1 $aCurrentType = $aFavorites $aRandom = _ArrayRandomGenerate ( $iUseDir, UBound ( $aCurrentType ) -1 ) RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'favorites' ) GUICtrlSetState ( -1, $GUI_CHECKED ) Else _TrayTip ( $sSoftTitle, 'There is no files in Favorites Directory !', 2 ) $iUseDir = 0 GUICtrlSetState ( -1, $GUI_UNCHECKED ) RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) EndIf EndIf $x+=100 $idRadioHome = GUICtrlCreateRadio ( 'Home', $x, $y, 60, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aHome ) -1 & ' Wallpapers available', 'Home', 1, 1 ) If $sType = 'home' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aHome EndIf $x=20 $y = 70+114 $idRadioLandscape = GUICtrlCreateRadio ( 'Landscape', $x, $y, 90, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aLandscape ) -1 & ' Wallpapers available', 'Landscape', 1, 1 ) If $sType = 'landscape' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aLandscape EndIf $x+=100 $idRadioMisc = GUICtrlCreateRadio ( 'Misc', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aMisc ) -1 & ' Wallpapers available', 'Misc', 1, 1 ) If $sType = 'misc' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aMisc EndIf $x+=100 $idRadioPaint = GUICtrlCreateRadio ( 'Paint', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aPaint ) -1 & ' Wallpapers available', 'Paint', 1, 1 ) If $sType = 'paint' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aPaint EndIf $x+=100 $idRadioPeople = GUICtrlCreateRadio ( 'People', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aPeople ) -1 & ' Wallpapers available', 'People', 1, 1 ) If $sType = 'people' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aPeople EndIf $x+=100 $idRadioPlanes = GUICtrlCreateRadio ( 'Planes', $x, $y, 62, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aPlanes ) -1 & ' Wallpapers available', 'Planes', 1, 1 ) If $sType = 'planes' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aPlanes EndIf $x=20 $y = 100+114 $idRadioPlants = GUICtrlCreateRadio ( 'Plants', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aPlants ) -1 & ' Wallpapers available about Plants, Flowers or Fruits', 'Plants', 1, 1 ) If $sType = 'plants' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aPlants EndIf $x+=100 $idRadioSpace = GUICtrlCreateRadio ( 'Space', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aSpace ) -1 & ' Wallpapers available', 'Space', 1, 1 ) If $sType = 'space' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aSpace EndIf $x+=100 $idRadioSport = GUICtrlCreateRadio ( 'Sport', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aSport ) -1 & ' Wallpapers available', 'Sport', 1, 1 ) If $sType = 'sport' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aSport EndIf $x+=100 $idRadioYours = GUICtrlCreateRadio ( 'Yours', $x, $y, 60, 20 ) DllCall ( 'UxTheme.dll', 'int', 'SetWindowTheme', 'hwnd', GUICtrlGetHandle ( -1 ), 'wstr', 0, 'wstr', 0 ) GUICtrlSetColor ( -1, 0xFF0000 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, 'Use your own Wallpapers directory', 'Yours', 1, 1 ) If $sType = 'yours' Then GUICtrlSetState ( -1, $GUI_CHECKED ) Local $sRegRead = RegRead ( $sRegKeySettings, 'YoursDirPath' ) $aYours = _MultiFileTypeListToArray ( $sRegRead, '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) If UBound ( $aYours ) - 1 > 1 Then $aCurrentType = $aYours $iUseDir = 1 RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'yours' ) RegWrite ( $sRegKeySettings, 'YoursDirPath', 'REG_SZ', $sRegRead ) Else $aCurrentType = $aLandscape RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) EndIf $aRandom = _ArrayRandomGenerate ( $iUseDir, UBound ( $aCurrentType ) -1 ) EndIf $x+=100 $idRadioSexy = GUICtrlCreateRadio ( 'Sexy', $x, $y, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperTypeChange' ) GUICtrlSetTip ( -1, UBound ( $aSexy ) -1 & ' Wallpapers available', 'Sexy', 1, 1 ) DllCall ( 'UxTheme.dll', 'int', 'SetWindowTheme', 'hwnd', GUICtrlGetHandle ( -1 ), 'wstr', 0, 'wstr', 0 ) GUICtrlSetColor ( -1, 0xFF00CC ) If $iSexyEnable Then If $sType = 'sexy' Then GUICtrlSetState ( -1, $GUI_CHECKED ) $aCurrentType = $aSexy EndIf Else GUICtrlSetColor ( -1, 0x000000 ) GUICtrlSetData ( -1, '****' ) GUICtrlSetState ( -1, $GUI_HIDE ) If $sType = 'sexy' Then GUICtrlSetState ( -1, $GUI_UNCHECKED ) $aCurrentType = $aLandscape GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) EndIf EndIf #EndRegion --- Wallpaper Types ------------------------------ #Region ------ Buttons ------------------------------ $idButtonOpenFavorites = GUICtrlCreatePic ( $sTempDir & '\button1.jpg', 20, $y+45, 140, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperFavoritesDirOpen' ) GUICtrlSetTip ( -1, 'Manage you Favorites Wallpapers', ' ', 1, 1 ) $idButtonSelectYours = GUICtrlCreatePic ( $sTempDir & '\button2.jpg', 180, $y+45, 140, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperYoursDirSelect' ) GUICtrlSetTip ( -1, 'Select a folder with your own Wallpapers', ' ', 1, 1 ) $idButtonOpenBanned = GUICtrlCreatePic ( $sTempDir & '\button3.jpg', 340, $y+45, 140, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperBannedDirOpen' ) GUICtrlSetTip ( -1, 'Manage your Banned Wallpapers', ' ', 1, 1 ) #EndRegion --- Buttons ------------------------------ #Region ------ Options ------------------------------ $y+=70 GUICtrlCreateGroup ( ' Options ', 10, $y+5, 480, 180 ) $idChkBoxMinimizeAll = GUICtrlCreateCheckbox ( ' Minimize all Windows when Changing Wallpaper', 20, $y+30 ) ; default checked GUICtrlSetOnEvent ( -1, '_SettingsSave' ) Local $sRegRead = RegRead ( $sRegKeySettings, 'MinimizeAll' ) If @error Or $sRegRead = 1 Then GUICtrlSetState ( -1, $GUI_CHECKED ) RegWrite ( $sRegKeySettings, 'MinimizeAll', 'REG_SZ', 1 ) Else GUICtrlSetState ( -1, $GUI_UNCHECKED ) RegWrite ( $sRegKeySettings, 'MinimizeAll', 'REG_SZ', 0 ) EndIf $idChkBoxHideIcons = GUICtrlCreateCheckbox ( ' Hide Desktop Icons for 5 Seconds after Changing Wallpaper', 20, $y+60 ) ; default Unchecked GUICtrlSetOnEvent ( -1, '_SettingsSave' ) $sRegRead = RegRead ( $sRegKeySettings, 'HideIcons' ) If @error Or $sRegRead = 0 Then GUICtrlSetState ( -1, $GUI_UNCHECKED ) RegWrite ( $sRegKeySettings, 'HideIcons', 'REG_SZ', 0 ) Else GUICtrlSetState ( -1, $GUI_CHECKED ) RegWrite ( $sRegKeySettings, 'HideIcons', 'REG_SZ', 1 ) EndIf $idChkBoxCheckForUpdate = GUICtrlCreateCheckbox ( ' Check for Update at start', 20, $y+90 ) ; default checked GUICtrlSetOnEvent ( -1, '_SettingsSave' ) $sRegRead = RegRead ( $sRegKeySettings, 'CheckForUpdate' ) If @error Or $sRegRead = 1 Then GUICtrlSetState ( -1, $GUI_CHECKED ) RegWrite ( $sRegKeySettings, 'CheckForUpdate', 'REG_SZ', 1 ) Else GUICtrlSetState ( -1, $GUI_UNCHECKED ) RegWrite ( $sRegKeySettings, 'CheckForUpdate', 'REG_SZ', 0 ) EndIf $idChkBoxStartWithWindows = GUICtrlCreateCheckbox ( ' Start With Windows', 20, $y+120 ) ; default checked GUICtrlSetOnEvent ( -1, '_SettingsSave' ) $sRegRead = RegRead ( $sRegKeySettings, 'StartWithWindows' ) If @error Or $sRegRead = 1 Then GUICtrlSetState ( -1, $GUI_CHECKED ) RegWrite ( $sRegKeySettings, 'StartWithWindows', 'REG_SZ', 1 ) If @Compiled Then RegWrite ( 'HKCU\Software\Microsoft\Windows\CurrentVersion\Run', 'WallpaperBank', 'REG_SZ', @ScriptFullPath ) Else GUICtrlSetState ( -1, $GUI_UNCHECKED ) RegWrite ( $sRegKeySettings, 'StartWithWindows', 'REG_SZ', 0 ) If @Compiled Then RegDelete ( 'HKCU\Software\Microsoft\Windows\CurrentVersion\Run', 'WallpaperBank' ) EndIf $idChkBoxChangeAtStart = GUICtrlCreateCheckbox ( ' Change Wallpaper at Start', 20, $y+150 ) ; default Unchecked GUICtrlSetOnEvent ( -1, '_SettingsSave' ) $sRegRead = RegRead ( $sRegKeySettings, 'ChangeAtStart' ) If @error Or $sRegRead = 0 Then GUICtrlSetState ( -1, $GUI_UNCHECKED ) RegWrite ( $sRegKeySettings, 'ChangeAtStart', 'REG_SZ', 0 ) Else GUICtrlSetState ( -1, $GUI_CHECKED ) RegWrite ( $sRegKeySettings, 'ChangeAtStart', 'REG_SZ', 1 ) EndIf #EndRegion --- Options ------------------------------ #Region ------ Wallpaper Style ------------------------------ GUICtrlCreateGroup ( ' Wallpaper Style ', 10, $y+200, 480, 50 ) GUIStartGroup () $idRadioTiled = GUICtrlCreateRadio ( 'Tiled', 20, $y+220, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperStyleSet' ) GUICtrlSetTip ( -1, 'Wallpaper is tiled across the screen' & @CRLF & 'and centered on the desktop.', 'Tiled', 1, 1 ) $idRadioCentered = GUICtrlCreateRadio ( 'Centered', 170, $y+220, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperStyleSet' ) GUICtrlSetTip ( -1, 'Wallpaper is centered on the screen' & @CRLF & 'and centered on the desktop.', 'Centered', 1, 1 ) $idRadioStretched = GUICtrlCreateRadio ( 'Stretched', 320, $y+220, 80, 20 ) GUICtrlSetOnEvent ( -1, '_WallpaperStyleSet' ) GUICtrlSetTip ( -1, 'Wallpaper is centered on the screen' & @CRLF & 'and stretched to fit the desktop.', 'Stretched', 1, 1 ) Local $sRegRead = RegRead ( $sRegKeySettings, 'WallpaperStyle' ) If @error Or $sRegRead = '' Then RegWrite ( $sRegKeySettings, 'WallpaperStyle', 'REG_SZ', 'Stretched' ) GUICtrlSetState ( -1, $GUI_CHECKED ) Else Switch $sRegRead Case 'Tiled' GUICtrlSetState ( $idRadioTiled, $GUI_CHECKED ) Case 'Centered' GUICtrlSetState ( $idRadioCentered, $GUI_CHECKED ) Case 'Stretched' GUICtrlSetState ( $idRadioStretched, $GUI_CHECKED ) Case Else RegWrite ( $sRegKeySettings, 'WallpaperStyle', 'REG_SZ', 'Stretched' ) GUICtrlSetState ( $idRadioStretched, $GUI_CHECKED ) EndSwitch EndIf #EndRegion --- Wallpaper Position ------------------------------ _SettingsSave () FileDelete ( $sTempDir & '\button1.jpg' ) FileDelete ( $sTempDir & '\button2.jpg' ) FileDelete ( $sTempDir & '\Button3.jpg' ) _WaterEffectEnable ( $sTempDir & '\banner5.bmp', $hGuiSettings, 5, 20, 10, 10 ) If Not @error Then $iWaterEffectEnable = 1 _WaterEffectBlob () AdlibRegister ( '_WaterEffectBlob', 3000 ) AdlibRegister ( '_WaterEffectChangeCoordinates', $iTimer2 ) EndIf FileDelete ( $sTempDir & '\banner5.bmp' ) _WallpaperStyleSet() EndFunc ;==> _GuiSettingsCreate () Func _GuiSettingsHide () GUISetState ( @SW_HIDE, $hGuiSettings ) EndFunc ;==> _GuiSettingsHide () Func _GuiSettingsSavePos () Local $aWinPos = WinGetPos ( $hGuiSettings ), $x, $y If Not @error Then Local $aTaskBarPos = _TaskbarGetPos () If Not @error Then Switch $aTaskBarPos[4] Case 0 $x = $aTaskBarPos[2] Case 1 $x = -$aTaskBarPos[2] Case 2 $y = $aTaskBarPos[3] Case 3 $y = -$aTaskBarPos[3] EndSwitch If _Min ( _Max ( $aWinPos[0], 0 ), @DesktopWidth - $aWinPos[2] + $x ) <> 0 And _Min ( _Max ( $aWinPos[1], 0 ), @DesktopHeight - $aWinPos[3] + $y ) <> 0 Then RegWrite ( $sRegKeySettings, 'x', 'REG_SZ', _Min ( _Max ( $aWinPos[0], 0 ), @DesktopWidth - $aWinPos[2] + $x ) ) RegWrite ( $sRegKeySettings, 'y', 'REG_SZ', _Min ( _Max ( $aWinPos[1], 0 ), @DesktopHeight - $aWinPos[3] + $y ) ) EndIf EndIf EndIf EndFunc ;==> _GuiSettingsSavePos () Func _GuiSettingsShow () If _WindowIsMinimized ( $hGuiSettings ) Then GUISetState ( @SW_RESTORE, $hGuiSettings ) Winactivate ( $hGuiSettings, '' ) Else GUISetState ( @SW_SHOW, $hGuiSettings ) Winactivate ( $hGuiSettings, '' ) EndIf _GuiSettingsSavePos () EndFunc ;==> _GuiSettingsShow () Func _InternetIsAvailable () If Ping ( 'www.bing.com', 1 ) Or InetRead ( 'http://www.google.com/humans.txt', 19 ) Then Return True EndFunc ;==> _InternetIsAvailable () Func _LzmaDec ( $Source ) ; by Ward Local $__LZMADLL = @TempDir & '\LZMA.DLL' If Not FileExists ( $__LZMADLL ) Then Lzmadll ( 'LZMA.DLL', @TempDir ) If @error Then Return SetError ( 1, 0, $Source ) If BinaryLen ( $Source ) < 9 Then Return SetError ( 2, 0, $Source ) Local $Src = DllStructCreate ( 'byte[' & BinaryLen ( $Source ) & ']' ), $Ret DllStructSetData ( $Src, 1, $Source ) $Ret = DllCall ( $__LZMADLL, 'uint:cdecl', 'LzmaDecGetSize', 'ptr', DllStructGetPtr ( $Src ) ) If @Error Then Return SetError ( 3, 0, $Source ) Local $DestSize = $Ret[0] If $DestSize = 0 Then Return SetError ( 4, 0, $Source ) Local $Dest = DllStructCreate ( 'byte[' & $DestSize & ']' ) $Ret = DllCall ( $__LZMADLL, 'int:cdecl', 'LzmaDec', 'ptr', DllStructGetPtr ( $Dest ), 'uint*', $DestSize, 'ptr', DllStructGetPtr ( $Src ), 'uint', BinaryLen ( $Source ) ) If Not @Error Then Return SetExtended ( $Ret[0], DllStructGetData ( $Dest, 1 ) ) Else Return SetError ( 5, 0, $Source ) EndIf EndFunc ;==> _LzmaDec () Func _Max ( $nNum1, $nNum2 ) If Not IsNumber ( $nNum1 ) Then Return SetError ( 1, 0, 0 ) If Not IsNumber ( $nNum2 ) Then Return SetError ( 2, 0, 0 ) If $nNum1 > $nNum2 Then Return $nNum1 Else Return $nNum2 EndIf EndFunc ;==> _Max () Func _Min ( $nNum1, $nNum2 ) If ( Not IsNumber ( $nNum1 ) ) Then Return SetError ( 1, 0, 0 ) If ( Not IsNumber ( $nNum2 ) ) Then Return SetError ( 2, 0, 0 ) If $nNum1 > $nNum2 Then Return $nNum2 Else Return $nNum1 EndIf EndFunc ;==> _Min () Func _MultiFileTypeListToArray ( $sDirPath, $sFilter, $iSort=0 ) Local $aFilterArray = StringSplit ( $sFilter, ',' ) If @error Then Return Local $aGlobalList[1], $aList For $i = 1 To UBound ( $aFilterArray ) -1 $aList = _FileListToArray ( $sDirPath, $aFilterArray[$i], 1, True ) If Not @error Then _ArrayConcatenate ( $aGlobalList, $aList, 1 ) Next $aGlobalList[0] = UBound ( $aGlobalList ) -1 If $iSort Then _ArraySort ( $aGlobalList ) Return $aGlobalList EndFunc ;==> _MultiFileTypeListToArray () Func _OnAutoItExit () _GuiSettingsSavePos () _WaterEffectDisable () _GDIPlus_Shutdown () GUIDelete ( $hGuiPreLoader ) GUIDelete ( $hGuiSettings ) DllClose ( $hWINHTTPDLL__WINHTTP ) DllClose ( $hUser32DLL ) Do Sleep ( 250 ) Until Not $iIconsHidden EndFunc ;==> _OnAutoItExit () Func _ScriptGetVersion () Local $sFileVersion If @Compiled Then $sFileVersion = FileGetVersion ( @ScriptFullPath, 'FileVersion' ) Else $sFileVersion = _StringBetween ( FileRead ( @ScriptFullPath ), '#AutoIt3Wrapper_Res_Fileversion=', @CR ) If Not @error Then $sFileVersion = $sFileVersion[0] Else $sFileVersion = '0.0.0.0' EndIf EndIf Return $sFileVersion EndFunc ;==> _ScriptGetVersion () Func _ScriptIsAlreadyRunning () Local $a = WinList ( AutoItWinGetTitle () ) If Not @error Then Return UBound ( $a ) -1 > 1 EndFunc ;==> _ScriptIsAlreadyRunning () Func _SettingsSave () Local $sRegRead = RegRead ( $sRegKeySettings, 'WallpaperType' ) Switch $sRegRead Case 'animals' $aCurrentType = $aAnimals Case 'cars' $aCurrentType = $aCars Case 'Drawings' $aCurrentType = $aDrawings Case 'Favorites' $aFavorites = _MultiFileTypeListToArray ( $sTempDir & '\Favorites', '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) If UBound ( $aFavorites ) -1 > 0 Then $iUseDir = 1 $aCurrentType = $aFavorites Else _TrayTip ( $sSoftTitle, 'There is no files in Favorites Directory !', 2 ) $iUseDir = 0 $aCurrentType = $aLandscape RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioFavorites, $GUI_UNCHECKED ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) EndIf Case 'home' $aCurrentType = $aHome Case 'Landscape' $aCurrentType = $aLandscape Case 'misc' $aCurrentType = $aMisc Case 'paint' $aCurrentType = $aPaint Case 'people' $aCurrentType = $aPeople Case 'planes' $aCurrentType = $aPlanes Case 'plants' $aCurrentType = $aPlants Case 'sexy' $aCurrentType = $aSexy Case 'space' $aCurrentType = $aSpace Case 'sport' $aCurrentType = $aSport Case 'yours' Local $sFileSelectFolder Local $sRegRead = RegRead ( $sRegKeySettings, 'YoursDirPath' ) If @error Or Not FileExists ( $sRegRead ) Then $sFileSelectFolder = FileSelectFolder ( 'Select Your Wallpaper directory', @DesktopDir, 2+4, '', $hGuiSettings ) If Not @error Then $aYours = _MultiFileTypeListToArray ( $sFileSelectFolder, '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) Else $aCurrentType = $aLandscape RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) GUICtrlSetState ( $idRadioYours, $GUI_UNCHECKED ) EndIf Else $sFileSelectFolder = $sRegRead $aYours = _MultiFileTypeListToArray ( $sFileSelectFolder, '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) EndIf If UBound ( $aYours ) - 1 > 0 Then $iUseDir = 1 $aCurrentType = $aYours RegWrite ( $sRegKeySettings, 'YoursDirPath', 'REG_SZ', $sFileSelectFolder ) Else $iUseDir = 0 $aCurrentType = $aLandscape RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) GUICtrlSetState ( $idRadioYours, $GUI_UNCHECKED ) EndIf EndSwitch $aRandom = _ArrayRandomGenerate ( $iUseDir, UBound ( $aCurrentType ) -1 ) If _GuiCtrlIsChecked ( $idChkBoxMinimizeAll ) Then RegWrite ( $sRegKeySettings, 'MinimizeAll', 'REG_SZ', 1 ) Else RegWrite ( $sRegKeySettings, 'MinimizeAll', 'REG_SZ', 0 ) EndIf If _GuiCtrlIsChecked ( $idChkBoxStartWithWindows ) Then RegWrite ( $sRegKeySettings, 'StartWithWindows', 'REG_SZ', 1 ) If @Compiled Then RegWrite ( 'HKCU\Software\Microsoft\Windows\CurrentVersion\Run', 'WallpaperBank', 'REG_SZ', @ScriptFullPath ) Else RegWrite ( $sRegKeySettings, 'StartWithWindows', 'REG_SZ', 0 ) If @Compiled Then RegDelete ( 'HKCU\Software\Microsoft\Windows\CurrentVersion\Run', 'WallpaperBank' ) EndIf If _GuiCtrlIsChecked ( $idChkBoxCheckForUpdate ) Then RegWrite ( $sRegKeySettings, 'CheckForUpdate', 'REG_SZ', 1 ) Else RegWrite ( $sRegKeySettings, 'CheckForUpdate', 'REG_SZ', 0 ) EndIf If _GuiCtrlIsChecked ( $idChkBoxChangeAtStart ) Then RegWrite ( $sRegKeySettings, 'ChangeAtStart', 'REG_SZ', 1 ) Else RegWrite ( $sRegKeySettings, 'ChangeAtStart', 'REG_SZ', 0 ) EndIf If _GuiCtrlIsChecked ( $idChkBoxHideIcons ) Then RegWrite ( $sRegKeySettings, 'HideIcons', 'REG_SZ', 1 ) Else RegWrite ( $sRegKeySettings, 'HideIcons', 'REG_SZ', 0 ) EndIf EndFunc ;==> _SettingsSave () Func _StringBetween ( $s_String, $s_Start, $s_End, $v_Case = -1 ) Local $s_case = '' If $v_Case = Default Or $v_Case = -1 Then $s_case = '(?i)' Local $s_pattern_escape = '(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)' $s_Start = StringRegExpReplace ( $s_Start, $s_pattern_escape, '\\$1' ) $s_End = StringRegExpReplace ( $s_End, $s_pattern_escape, '\\$1' ) If $s_Start = '' Then $s_Start = '\A' If $s_End = '' Then $s_End = '\z' Local $a_ret = StringRegExp ( $s_String, '(?s)' & $s_case & $s_Start & '(.*?)' & $s_End, 3 ) If @error Then Return SetError ( 1, 0, 0 ) Return $a_ret EndFunc ;==> _StringBetween () Func _TaskbarGetPos () ;~ Return an array ; [0] = X position, [1] = Y position, [2] = Width, [3] = Height, [4] = Position : 0=left, 1=right, 2=top, 3=bottom Local $aTBarPos = WinGetPos ( '[CLASS:Shell_TrayWnd]' ) If Not @error Then If $aTBarPos[0] <= 0 And $aTBarPos[1] <= 0 And $aTBarPos[3] = @DesktopHeight Then _ArrayAdd ( $aTBarPos, 0 ) ElseIf $aTBarPos[0] > 0 And $aTBarPos[1] <= 0 And $aTBarPos[3] = @DesktopHeight Then _ArrayAdd ( $aTBarPos, 1 ) ElseIf $aTBarPos[0] <= 0 And $aTBarPos[1] <= 0 And $aTBarPos[2] = @DesktopWidth Then _ArrayAdd ( $aTBarPos, 2 ) ElseIf $aTBarPos[0] <= 0 And $aTBarPos[1] > 0 And $aTBarPos[2] = @DesktopWidth Then _ArrayAdd ( $aTBarPos, 3 ) EndIf EndIf Return SetError ( UBound ( $aTBarPos ) <> 5, 0, $aTBarPos ) EndFunc ;==> _TaskbarGetPos () Func _TaskDialog_Callback ( $hwnd, $uNotification, $wParam, $lParam, $dwRefData ) ; by Prog@ndy Switch $uNotification Case $TDN_HYPERLINK_CLICKED DllCall ( 'shell32.dll', 'long', 'ShellExecuteW', 'hwnd', $hwnd, 'wstr', 'open', 'ptr', $lParam, 'wstr', '', 'wstr', '', 'int', @SW_SHOW ) EndSwitch Return 0 EndFunc ;==> _TaskDialog_Callback () Func _TaskDialog_Indirect ( ByRef $structTASKDIALOGCONFIG, ByRef $pnButton, ByRef $pnRadioButton, ByRef $pfVerificationFlagChecked ) ; by Prog@ndy Local $PtrTDL If IsDllStruct ( $structTASKDIALOGCONFIG ) Then If DllStructGetData ( $structTASKDIALOGCONFIG, 'cButtons' ) = 0 And DllStructGetData ( $structTASKDIALOGCONFIG, 'dwCommonButtons' ) = 0 Then DllStructSetData ( $structTASKDIALOGCONFIG, 'dwCommonButtons', 1 ) $PtrTDL = DllStructGetPtr ( $structTASKDIALOGCONFIG ) ElseIf IsPtr ( $structTASKDIALOGCONFIG ) Then $PtrTDL = $structTASKDIALOGCONFIG Else Return SetError ( 5, 0, 0 ) EndIf Local $Dialog = DllCall ( $hTDL_TaskDialogDll, 'dword', 'TaskDialogIndirect', 'ptr', $PtrTDL, 'int*', 0, 'int*', 0, 'bool*', 0 ) If @error Then Return SetError ( @error, 0, 0 ) If $Dialog[0] <> 0 Then Return SetError ( $Dialog[0], 0, 0 ) $pnButton = $Dialog[2] $pnRadioButton = $Dialog[3] $pfVerificationFlagChecked = $Dialog[4] Return $Dialog[2] EndFunc ;==> _TaskDialog_Indirect () Func _TaskDialog_IndirectParamsMod ( ByRef $pnButton, ByRef $pnRadioButton, ByRef $pfVerificationFlagChecked, _ ; by Prog@ndy modified by wakillon. $hwndParent = 0, $hInstance = 0, $dwFlags = 0, $dwCommonButtons = 0, $szWindowTitle = '', $MainIcon = 0, _ $szMainInstruction = '', $szContent = '', _ $szVerificationText = '', $szExpandedInformation = '', _ $szExpandedControlText = '', $szCollapsedControlText = '', _ $FooterIcon = 0, $szFooter = '', _ $pfCallback = 0, $lpCallbackData = 0, $cxWidth = 0 ) Local $structTASKDIALOGCONFIG = DllStructCreate ( $tagTASKDIALOGCONFIG ) DllStructSetData ( $structTASKDIALOGCONFIG, 1, DllStructGetSize ( $structTASKDIALOGCONFIG ) ) DllStructSetData ( $structTASKDIALOGCONFIG, 2, $hwndParent ) DllStructSetData ( $structTASKDIALOGCONFIG, 3, $hInstance ) DllStructSetData ( $structTASKDIALOGCONFIG, 4, $dwFlags ) DllStructSetData ( $structTASKDIALOGCONFIG, 5, $dwCommonButtons ) If $szWindowTitle <> '' And IsString ( $szWindowTitle ) Then $szWindowTitle = _TaskDialog_StringStruct ( $szWindowTitle ) DllStructSetData ( $structTASKDIALOGCONFIG, 6, DllStructGetPtr ( $szWindowTitle ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 6, $szWindowTitle ) EndIf If IsString ( $MainIcon ) And $MainIcon <> '' Then $MainIcon = _TaskDialog_StringStruct ( $MainIcon ) DllStructSetData ( $structTASKDIALOGCONFIG, 7, DllStructGetPtr ( $MainIcon ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 7, $MainIcon ) EndIf If IsString ( $szMainInstruction ) And $szMainInstruction <> '' Then $szMainInstruction = _TaskDialog_StringStruct ( $szMainInstruction ) DllStructSetData ( $structTASKDIALOGCONFIG, 8, DllStructGetPtr ( $szMainInstruction ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 8, $szMainInstruction ) EndIf If IsString ( $szContent ) And $szContent <> '' Then $szContent = _TaskDialog_StringStruct ( $szContent ) DllStructSetData ( $structTASKDIALOGCONFIG, 9, DllStructGetPtr ( $szContent ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 9, $szContent ) EndIf DllStructSetData ( $structTASKDIALOGCONFIG, 11, 1 ) DllStructSetData ( $structTASKDIALOGCONFIG, 12, 0 ) DllStructSetData ( $structTASKDIALOGCONFIG, 15, 0 ) If IsString ( $szVerificationText ) And $szVerificationText <> '' Then $szVerificationText = _TaskDialog_StringStruct ( $szVerificationText ) DllStructSetData ( $structTASKDIALOGCONFIG, 16, DllStructGetPtr ( $szVerificationText ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 16, $szVerificationText ) EndIf If IsString ( $szExpandedInformation ) And $szExpandedInformation <> '' Then $szExpandedInformation = _TaskDialog_StringStruct ( $szExpandedInformation ) DllStructSetData($structTASKDIALOGCONFIG, 17, DllStructGetPtr ( $szExpandedInformation ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 17, $szExpandedInformation ) EndIf If IsString ( $szExpandedControlText ) And $szExpandedControlText <> '' Then $szExpandedControlText = _TaskDialog_StringStruct ( $szExpandedControlText ) DllStructSetData ( $structTASKDIALOGCONFIG, 18, DllStructGetPtr ( $szExpandedControlText ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 18, $szExpandedControlText ) EndIf If IsString ( $szCollapsedControlText ) And $szCollapsedControlText <> '' Then $szCollapsedControlText = _TaskDialog_StringStruct ( $szCollapsedControlText ) DllStructSetData ( $structTASKDIALOGCONFIG, 19, DllStructGetPtr ( $szCollapsedControlText ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 19, $szCollapsedControlText ) EndIf If IsString ( $FooterIcon ) And $FooterIcon <> '' Then $FooterIcon = _TaskDialog_StringStruct ( $FooterIcon ) DllStructSetData ( $structTASKDIALOGCONFIG, 20, DllStructGetPtr ( $FooterIcon ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 20, $FooterIcon ) EndIf If IsString ( $szFooter ) And $szFooter <> '' Then $szFooter = _TaskDialog_StringStruct ( $szFooter ) DllStructSetData ( $structTASKDIALOGCONFIG, 21, DllStructGetPtr ( $szFooter ) ) Else DllStructSetData ( $structTASKDIALOGCONFIG, 21, $szFooter ) EndIf DllStructSetData ( $structTASKDIALOGCONFIG, 22, $pfCallback ) DllStructSetData ( $structTASKDIALOGCONFIG, 23, $lpCallbackData ) DllStructSetData ( $structTASKDIALOGCONFIG, 24, $cxWidth ) Local $Dialog = _TaskDialog_Indirect ( $structTASKDIALOGCONFIG, $pnButton, $pnRadioButton, $pfVerificationFlagChecked ) Return SetError ( @error, 0, $Dialog ) EndFunc ;==> _TaskDialog_IndirectParamsMod () Func _TaskDialog_LoadDLL () ; by Prog@ndy ; use native for vista+ or load embeded dll. Local $res = DllCall ( 'Kernel32.dll', 'handle', 'GetModuleHandle', 'str', 'comctl32' ) $res = DllCall ( 'Kernel32.dll', 'handle', 'GetProcAddress', 'handle', $res[0], 'str', 'TaskDialog' ) If Not $res[0] Then Local $sPath = TaskDialogDll () ; for Windows 98, Windows ME, Windows 2000, Windows XP and Windows DllClose ( $hTDL_TaskDialogDll ) $hTDL_TaskDialogDll = DllOpen ( $sPath ) $_TDL_fUseXTaskDlg = True EndIf If $hTDL_TaskDialogDll = -1 Then $iDisableAbout = 1 EndFunc ;==> _TaskDialog_LoadDLL () Func _TaskDialog_StringStruct ( $str ) ; by Prog@ndy Local $struct = DllStructCreate ( 'wchar[' & StringLen ( $str ) + 1 & ']' ) DllStructSetData ( $struct, 1, $str ) Return $struct EndFunc ;==> _TaskDialog_StringStruct () Func _TopicGoTo () _DefaultBrowserOpenUrl ( $sTopicUrl ) EndFunc ;==> _TopicGoTo () Func _TrayItemSetIcon ( $iTrayItemIndex, $sIconPath, $iIndex=0, $iWidth=16, $iHeight=16, $iMenuIndex=0 ) If Not FileExists ( $sIconPath ) Then Return SetError ( 1, 0, '' ) Local $hIcon = _WinAPI_ShellExtractIcon ( $sIconPath, $iIndex, $iWidth, $iHeight ) $hIcon = _WinAPI_Create32BitHBITMAP ( $hIcon, True, True ) Local $aRet = DllCall ( $hUser32DLL, 'bool', 'SetMenuItemBitmaps', 'handle', TrayItemGetHandle ( $iMenuIndex ), 'uint', $iTrayItemIndex, 'uint', $MF_BYPOSITION, 'handle', $hIcon, 'handle', $hIcon ) If @error Then Return SetError ( 2, 0, '' ) Return $aRet[0] EndFunc ;==> _TrayItemSetIcon () Func _TrayMenu () Local $iIconSize = 24 If StringInStr ( @OSVersion, 'WIN_XP' ) Then $iIconSize = 16 $idTrayItemChange = TrayCreateItem ( 'Change' ) TrayItemSetOnEvent ( -1, '_WallpaperChange' ) _TrayItemSetIcon ( $idTrayItemChange - $idTrayItemChange, $sTempDir & '\change5.ico', 0, $iIconSize, $iIconSize ) TrayCreateItem ( '' ) $idTrayItemUndo = TrayCreateItem ( 'Undo' ) TrayItemSetOnEvent ( -1, '_WallpaperUndo' ) _TrayItemSetIcon ( $idTrayItemUndo - $idTrayItemChange, $sTempDir & '\undo3.ico', 0, $iIconSize, $iIconSize ) TrayCreateItem ( '' ) $idTrayItemAddToFav = TrayCreateItem ( 'Add To Favorites' ) TrayItemSetOnEvent ( -1, '_WallpaperAddToFavorites' ) _TrayItemSetIcon ( $idTrayItemAddToFav - $idTrayItemChange, $sTempDir & '\add2.ico', 0, $iIconSize, $iIconSize ) TrayCreateItem ( '' ) $idTrayItemBanned = TrayCreateItem ( 'Add To Banned' ) TrayItemSetOnEvent ( -1, '_WallpaperAddToBanned' ) _TrayItemSetIcon ( $idTrayItemBanned - $idTrayItemChange, $sTempDir & '\Locked2.ico', 0, $iIconSize, $iIconSize ) TrayCreateItem ( '' ) $idTrayItemSaveAs = TrayCreateItem ( 'Save as' ) TrayItemSetOnEvent ( -1, '_WallpaperSaveAs' ) _TrayItemSetIcon ( $idTrayItemSaveAs - $idTrayItemChange, $sTempDir & '\Saveas2.ico', 0, $iIconSize, $iIconSize ) TrayCreateItem ( '' ) $idTrayItemSettings = TrayCreateItem ( 'Settings' ) TrayItemSetOnEvent ( -1, '_GuiSettingsShow' ) _TrayItemSetIcon ( $idTrayItemSettings - $idTrayItemChange, $sTempDir & '\Settings2.ico', 0, $iIconSize, $iIconSize ) TrayCreateItem ( '' ) If $iDisableAbout = 0 Then $idTrayItemAbout = TrayCreateItem ( 'About' ) TrayItemSetOnEvent ( -1, '_About' ) _TrayItemSetIcon ( $idTrayItemAbout - $idTrayItemChange, $sTempDir & '\about2.ico', 0, $iIconSize, $iIconSize ) TrayCreateItem ( '' ) EndIf $idTrayItemExit = TrayCreateItem ( 'Exit' ) TrayItemSetOnEvent ( -1, '_Exit' ) _TrayItemSetIcon ( $idTrayItemExit - $idTrayItemChange, $sTempDir & '\exit4.ico', 0, $iIconSize, $iIconSize ) TraySetIcon ( 'C:\Wallpaperbank2.ico', 3 ) TraySetOnEvent ( -13, '_WallpaperChange' ) ; $TRAY_EVENT_PRIMARYDOUBLE TraySetOnEvent ( -11, '_TrayTipClose' ) ; $TRAY_EVENT_MOUSEOVER TraySetClick ( 16 ) TraySetState ( 4 ) TraySetToolTip ( $sSoftTitle ) FileDelete ( $sTempDir & '\*.ico' ) EndFunc ;==> _TrayMenu () Func _TrayTip ( $sTitle, $sTexte= '...', $iIco=0, $iDuration=4000 ) TrayTip ( $sTitle, $sTexte, 10, $iIco ) AdlibRegister ( '_TrayTipClose', $iDuration ) EndFunc ;==> _TrayTip () Func _TrayTipClose () TrayTip ( '', '', 1 ) AdlibUnRegister ( '_TrayTipClose' ) EndFunc ;==> _TrayTipClose () Func _UpdateLookFor () Local $aLastVersion, $sUpdateDatText, $iVersionCompare, $sScriptVersion $sUpdateDatText = BinaryToString ( InetRead ( $sIniUrl ) ) $aLastVersion = _UpdateReadIni ( $sUpdateDatText ) $sScriptVersion = _ScriptGetVersion () If $sScriptVersion <> '0.0.0.0' And $aLastVersion <> '0.0.0.0' Then $iVersionCompare = _VersionCompare ( $aLastVersion, $sScriptVersion ) Switch $iVersionCompare ; 0 - Both versions equal, 1 - Version 1 greater, -1 - Version 2 greater Case 0 Return Case 1 If MsgBox ( 262144+4+64, 'Info', @CRLF & 'An Update is available' & @CRLF & @CRLF & _ 'WallpaperBank Version : ' & $aLastVersion & @CRLF & @CRLF & _ 'Do you want to Download it ?' & @CRLF ) = 6 Then Exit _TopicGoTo () EndSwitch EndIf EndFunc ;==> _UpdateLookFor () Func _UpdateReadIni ( $sIniPath ); Get last version and download link. Local $aLastVersion Local $aUpdateLink = _StringBetween ( $sIniPath, 'UpdateLink=', @CR ) If Not @error Then $aUpdateLink = $aUpdateLink[0] $aLastVersion = _StringBetween ( $sIniPath, 'version=', @CR ) If Not @error Then Return $aLastVersion[0] Return '0.0.0.0' EndFunc ;=> _UpdateReadIni () Func _VersionCompare ( $sVersion1, $sVersion2 ) If $sVersion1 = $sVersion2 Then Return 0 Local $sep = '.' If StringInStr ( $sVersion1, $sep ) = 0 Then $sep = ',' Local $aVersion1 = StringSplit ( $sVersion1, $sep ) Local $aVersion2 = StringSplit ( $sVersion2, $sep ) If UBound ( $aVersion1 ) <> UBound ( $aVersion2 ) Or UBound ( $aVersion1 ) = 0 Then SetExtended ( 1 ) If $sVersion1 > $sVersion2 Then Return 1 ElseIf $sVersion1 < $sVersion2 Then Return -1 EndIf Else For $i = 1 To UBound ( $aVersion1 ) - 1 If StringIsDigit ( $aVersion1[$i] ) And StringIsDigit ( $aVersion2[$i] ) Then If Number ( $aVersion1[$i] ) > Number ( $aVersion2[$i] ) Then Return 1 ElseIf Number ( $aVersion1[$i] ) < Number ( $aVersion2[$i] ) Then Return -1 EndIf Else SetExtended ( 1 ) If $aVersion1[$i] > $aVersion2[$i] Then Return 1 ElseIf $aVersion1[$i] < $aVersion2[$i] Then Return -1 EndIf EndIf Next EndIf Return SetError ( 2, 0, 0 ) EndFunc ;==> _VersionCompare () Func _WallpaperAddToBanned () If $sBmpFile = '' Then Return Local $sFileName = _FileGetFullNameByFullPath ( $sBmpFile ) If StringInStr ( $sBmpFile, $sTempDir & '\Favorites' ) Then _TrayTip ( $sSoftTitle, 'The Wallpaper named ' & $sFileName & @CRLF & ' is a Favorite and so' & @CRLF & 'can not be added to Banned Directory !', 1 ) Return EndIf If FileCopy ( $sBmpFile, $sTempDir & '\Banned', 1+8 ) Then _TrayTip ( $sSoftTitle, 'The Wallpaper named ' & $sFileName & @CRLF & ' was added to Banned Directory !', 1 ) $aBanned = _MultiFileTypeListToArray ( $sTempDir & '\Banned', '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) Else EndIf EndFunc ;==> _WallpaperAddToBanned () Func _WallpaperAddToFavorites () If $sBmpFile = '' Then Return Local $sFileName = _FileGetFullNameByFullPath ( $sBmpFile ) If FileCopy ( $sBmpFile, $sTempDir & '\Favorites', 1+8 ) Then _TrayTip ( $sSoftTitle, 'The Wallpaper named ' & $sFileName & @CRLF & ' was added to Favorites !', 1 ) EndFunc ;==> _WallpaperAddToFavorites () Func _WallpaperBannedDirOpen () _GuiCtrlPicButton_SimulateAction ( $idButtonOpenBanned, 1 ) ShellExecute ( $sTempDir & '\Banned' ) EndFunc ;==> _WallpaperBannedDirOpen () Func _WallpaperChange () TraySetOnEvent ( -13, '_WallpaperNoChange' ) ; $TRAY_EVENT_PRIMARYDOUBLE Opt ( 'TrayOnEventMode', 0 ) If $iWaterEffectEnable Then AdlibUnRegister ( '_WaterEffectBlob' ) AdlibRegister ( '_WaterEffectChangeCoordinates' ) _WaterEffectFlatten () EndIf If _GuiCtrlIsChecked ( $idChkBoxMinimizeAll ) Then _GuiSettingsSavePos () _WindowlMinimizeAll () EndIf $aBanned = _MultiFileTypeListToArray ( $sTempDir & '\Banned', '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) Local $iLoaderSize = 128 If $iUseDir = 1 Then Do ; exclude banned $w+=1 If $w > UBound ( $aRandom ) -1 Then $w = 0 $sBmpFile = $aCurrentType[$aRandom[$w]] Until _ArraySearch ( $aBanned, StringTrimRight ( $sBmpFile, StringLen ( _FileGetExtByFullPath ( $sBmpFile ) ) ), 1, 0, 0, 1 ) = -1 AdlibUnRegister ( '_DesktopIconsHide' ) Else Local $sFileName, $sUrl, $iError Do Do ; exclude banned $w+=1 If $w > UBound ( $aRandom ) -1 Then $w = 0 $sUrl = $aCurrentType[$aRandom[$w]] $sFileName = _FileGetFullNameByUrl ( $sUrl ) Until _ArraySearch ( $aBanned, StringTrimRight ( $sFileName, StringLen ( _FileGetExtByFullPath ( $sFileName ) ) ), 1, 0, 0, 1 ) = -1 If Not FileExists ( $sTempDir & '\WallpaperCache\' & $sFileName ) Then WinMove ( $hGuiPreLoader, '', ( @DesktopWidth - $iLoaderSize )/2, ( @DesktopHeight - $iLoaderSize )/2, $iLoaderSize, $iLoaderSize, 1 ) WinMove ( $hGuiPreLoaderText, '', ( @DesktopWidth - $iLoaderSize )/2+46, ( @DesktopHeight - $iLoaderSize )/2+54, 38, 30, 1 ) GUISetState ( $GUI_SHOW, $hGuiPreLoader ) Winactivate ( $hGuiPreLoader, '' ) WinSetOnTop ( $hGuiPreLoader, '', 1 ) GUICtrlSetState ( $IdAnimatedGifCtrl, $GUI_SHOW ) $iPercent = 0 $hGraphic = _GDIPlus_GraphicsCreateFromHWND ( $hGuiPreLoaderText ) DllCall ( $ghGDIPDll, 'uint', 'GdipSetInterpolationMode', 'hwnd', $hGraphic, 'int', 7 ) _GDIPlus_GraphicsSetSmoothingMode ( $hGraphic, $GDIP_SMOOTHINGMODE_HIGHQUALITY ) $hBrush1 = _GDIPlus_BrushCreateSolid ( 0xFFFFFFFF ) $hBrush2 = _GDIPlus_BrushCreateSolid ( 0xFFFC9644 ) $hFormat = _GDIPlus_StringFormatCreate () $hFamily = _GDIPlus_FontFamilyCreate ( 'Tahoma' ) $hFont1 = _GDIPlus_FontCreate ( $hFamily, 11, 0, 3 ) $tLayout = _GDIPlus_RectFCreate ( 0, 0, 38, 30 ) $aInfo = _GDIPlus_GraphicsMeasureString ( $hGraphic, StringFormat ( '%02i', $sString ) & '%', $hFont1, $tLayout, $hFormat ) _GDIPlus_GraphicsDrawStringEx ( $hGraphic, '', $hFont1, $aInfo[0], $hFormat, $hBrush1 ) ConsoleWrite ( '!->-- [' & StringFormat ( '%03i', @ScriptLineNumber ) & '] $sUrl : ' & $sUrl & @Crlf ) _WinHttpDownload ( $sUrl, $sTempDir & '\WallpaperCache\' & $sFileName ) $iError = @error If $iError Then ConsoleWrite ( '$iError : ' & $iError & @Crlf ) If $iError Then FileDelete ( $sTempDir & '\WallpaperCache\' & $sFileName ) If Not FileExists ( $sTempDir & '\WallpaperCache\' & $sFileName ) Then If Not _InternetIsAvailable () Then MsgBox ( 262144+16, $sSoftTitle, 'Error : ' & @CRLF & _ 'Internet Is not available !' & @CRLF & _ 'Open Settings window and select "Favorites" or "Yours" type' & @CRLF & _ 'for use the Wallpapers located on your Computer.', 0, $hGuiSettings ) ExitLoop EndIf EndIf EndIf Until FileExists ( $sTempDir & '\WallpaperCache\' & $sFileName ) AdlibUnRegister ( '_DesktopIconsHide' ) WinSetOnTop ( $hGuiPreLoader, '', 0 ) GUICtrlSetState ( $IdAnimatedGifCtrl, $GUI_HIDE ) GUISetState ( $GUI_HIDE, $hGuiPreLoader ) WinMove ( $hGuiPreLoader, '', @DesktopWidth, ( @DesktopHeight - $iLoaderSize )/2, $iLoaderSize, $iLoaderSize, 1 ) WinMove ( $hGuiPreLoaderText, '', @DesktopWidth, ( @DesktopHeight - $iLoaderSize )/2+54, 38, 30, 1 ) $sBmpFile = $sTempDir & '\WallpaperCache\' & $sFileName EndIf _WallpaperSet ( $sBmpFile ) Opt ( 'TrayOnEventMode', 1 ) TraySetOnEvent ( -13, '_WallpaperChange' ) ; $TRAY_EVENT_PRIMARYDOUBLE _SettingsSave () If $iWaterEffectEnable Then _WaterEffectBlob () AdlibRegister ( '_WaterEffectBlob', 3000 ) AdlibRegister ( '_WaterEffectChangeCoordinates', $iTimer2 ) EndIf EndFunc ;==> _WallpaperChange () Func _WallpaperConvertTo ( $sPicPath, $sType='jpg' ) If Not FileExists ( $sPicPath ) Then Return SetError ( -1 ) Local $sTmpFile = _WallpaperGeneratePath ( $sType ) Local $aDim = _WallpaperGetDimension ( $sPicPath ) Local $hImage2 = _GDIPlus_ImageLoadFromFile ( $sPicPath ) Local $hBitmap = _WinAPI_CreateBitmap ( $aDim[0], $aDim[1], 1, 32 ) Local $hImage1 = _GDIPlus_BitmapCreateFromHBITMAP ( $hBitmap ) Local $hGraphic = _GDIPlus_ImageGetGraphicsContext ( $hImage1 ) _GDIPlus_GraphicsDrawImageRect ( $hGraphic, $hImage2, 0, 0, $aDim[0], $aDim[1] ) Local $CLSID = _GDIPlus_EncodersGetCLSID ( $sType ) _GDIPlus_ImageSaveToFileEx ( $hImage1, $sTmpFile, $CLSID ) _GDIPlus_ImageDispose ( $hImage1 ) _GDIPlus_ImageDispose ( $hImage2 ) _GDIPlus_GraphicsDispose ( $hGraphic ) _WinAPI_DeleteObject ( $hBitmap ) If FileExists ( $sTmpFile ) Then Return $sTmpFile EndFunc ;==> _WallpaperConvertTo () Func _WallpaperFavoritesDirOpen () _GuiCtrlPicButton_SimulateAction ( $idButtonOpenFavorites, 1 ) ShellExecute ( $sTempDir & '\Favorites' ) EndFunc ;==> _WallpaperFavoritesDirOpen () Func _WallpaperGeneratePath ( $sExt ) Local $sSuffix, $sTempPath Do $sTempPath = @MyDocumentsDir & '\' & @YEAR & @MON & @MDAY & @HOUR & @MIN & @SEC & $sSuffix & '.' & $sExt $sSuffix += 1 Until Not FileExists ( $sTempPath ) Return $sTempPath EndFunc ;==> _WallpaperGeneratePath () Func _WallpaperGetDimension ( $sPicPath ) If Not FileExists ( $sPicPath ) Then Return SetError ( -1 ) Local $hImage = _GDIPlus_ImageLoadFromFile ( $sPicPath ) Local $aRet[2] $aRet[0] = _GDIPlus_ImageGetWidth ( $hImage ) $aRet[1] = _GDIPlus_ImageGetHeight ( $hImage ) _GDIPlus_ImageDispose ( $hImage ) If $aRet[0] And $aRet[1] Then Return $aRet EndFunc ;==> _WallpaperGetDimension () Func _WallpaperNoChange () ; for avoid an other Wallpaper change when already changing. EndFunc ;==> _WallpaperNoChange () Func _WallpaperSaveAs () Local $sRegRead = RegRead ( $sRegKeySettings, 'LastSaveDir' ) If @error Or Not FileExists ( $sLastSaveDir ) Then $sLastSaveDir = @DesktopDir Else $sLastSaveDir = $sRegRead EndIf Local $sDefaultName = _FileGetNameWithoutExtByFullPath ( $sBmpFile ) Local $sFilePath = FileSaveDialog ( 'Choose a filename for save your Wallpaper as jpg', $sLastSaveDir, 'Images (*.jpg)', 2+16, $sDefaultName ) If @error Then _TrayTip ( $sSoftTitle, 'No file was saved.', 2 ) Else Local $sBmpFileTmp Switch _FileGetExtByFullPath ( $sBmpFile ) Case 'bmp', 'png', 'gif' $sBmpFileTmp = _WallpaperConvertTo ( $sBmpFile, 'jpg' ) Case 'jpg', 'jpeg' $sBmpFileTmp = $sBmpFile Case Else $sBmpFileTmp = '' EndSwitch If StringRight ( $sFilePath, 4 ) <> '.jpg' Then $sFilePath &= '.jpg' If FileCopy ( $sBmpFileTmp, $sFilePath ) Then $sLastSaveDir = _FileGetParentFolderPathByFullPath ( $sFilePath ) RegWrite ( $sRegKeySettings, 'LastSaveDir', 'REG_SZ', $sLastSaveDir ) _TrayTip ( $sSoftTitle, 'Wallpaper named ' & _FileGetFullNameByFullPath ( $sFilePath ) & ' was saved in ' & @CRLF & $sLastSaveDir, 1 ) Else _TrayTip ( $sSoftTitle, 'No file was saved.', 2 ) EndIf If StringInStr ( $sBmpFileTmp, @YEAR & @MON & @MDAY ) And _FileGetParentFolderPathByFullPath ( $sBmpFileTmp ) = @MyDocumentsDir Then FileDelete ( $sBmpFileTmp ) EndIf EndIf EndFunc ;==> _WallpaperSaveAs () Func _WallpaperSet ( $sBmpFilePath ) Local $SPI_SETDESKWALLPAPER = 0x0014, $SPIF_UPDATEINIFILE = 0x01, $SPIF_SENDCHANGE = 0x02 If Not _FileIsFolder ( $sBmpFilePath ) Then Local $sBmpFileTmp Switch _FileGetExtByFullPath ( $sBmpFilePath ) Case 'jpeg', 'jpg', 'png', 'gif' $sBmpFileTmp = _WallpaperConvertTo ( $sBmpFilePath, 'bmp' ) ; for compatibility with xp. Case 'bmp' $sBmpFileTmp = $sBmpFilePath Case Else $sBmpFileTmp = '' EndSwitch If FileExists ( $sBmpFileTmp ) Then If _GuiCtrlIsChecked ( $idChkBoxHideIcons ) Then $iAdlib = 0 _DesktopIconsHide () EndIf DllCall ( $hUser32DLL, 'int', 'SystemParametersInfo', 'uint', $SPI_SETDESKWALLPAPER, 'uint', 0, 'str', $sBmpFileTmp, 'uint', BitOR ( $SPIF_UPDATEINIFILE, $SPIF_SENDCHANGE ) ) If Not @error And FileExists ( $sBmpFilePath ) Then RegWrite ( $sRegKeyDesktop, 'Wallpaper', 'REG_SZ', $sBmpFilePath ) _ArrayAdd ( $aWallpaperOld, $sBmpFilePath ) _TrayTip ( $sSoftTitle, $sBmpFilePath & ' was set as desktop Wallpaper !', 1 ) Else _TrayTip ( $sSoftTitle, 'Sorry an error occured !', 2 ) EndIf If StringInStr ( $sBmpFileTmp, @YEAR & @MON & @MDAY ) And _FileGetParentFolderPathByFullPath ( $sBmpFileTmp ) = @MyDocumentsDir Then FileDelete ( $sBmpFileTmp ) Else _TrayTip ( $sSoftTitle, 'Sorry an error occured !', 2 ) EndIf Else _TrayTip ( $sSoftTitle, 'Sorry an error occured !', 2 ) EndIf EndFunc ;==> _WallpaperSet () Func _WallpaperStyleSet () If _GuiCtrlIsChecked ( $idRadioTiled ) Then RegWrite ( $sRegKeySettings, 'WallpaperStyle', 'REG_SZ', 'Tiled' ) RegWrite ( $sRegKeyDesktop, 'TileWallpaper', 'REG_SZ', '1' ) ; Wallpaper is tiled across the screen. RegWrite ( $sRegKeyDesktop, 'WallpaperStyle', 'REG_SZ', '0' ) ; Center the bitmap on the desktop. ElseIf _GuiCtrlIsChecked ( $idRadioCentered ) Then RegWrite ( $sRegKeySettings, 'WallpaperStyle', 'REG_SZ', 'Centered' ) RegWrite ( $sRegKeyDesktop, 'TileWallpaper', 'REG_SZ', '0' ) ; Wallpaper is centered on the screen. RegWrite ( $sRegKeyDesktop, 'WallpaperStyle', 'REG_SZ', '0' ) ; Center the bitmap on the desktop. ElseIf _GuiCtrlIsChecked ( $idRadioStretched ) Then RegWrite ( $sRegKeySettings, 'WallpaperStyle', 'REG_SZ', 'Stretched' ) RegWrite ( $sRegKeyDesktop, 'TileWallpaper', 'REG_SZ', '0' ) ; Wallpaper is centered on the screen. RegWrite ( $sRegKeyDesktop, 'WallpaperStyle', 'REG_SZ', '2' ) ; Stretch the bitmap vertically and horizontally to fit the desktop. EndIf _WallpaperSet ( $sBmpFile ) EndFunc ;==> _WallpaperStyleSet () Func _WallpaperTypeChange () ; 1 to 15 $iUseDir = 0 Switch @GUI_CtrlId - $idRadioAnimals + 1 Case 1 $aCurrentType = $aAnimals RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'animals' ) Case 2 $aCurrentType = $aCars RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'cars' ) Case 3 $aCurrentType = $aDrawings RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'Drawings' ) Case 4 $aFavorites = _MultiFileTypeListToArray ( $sTempDir & '\Favorites', '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) If UBound ( $aFavorites ) -1 > 0 Then $iUseDir = 1 $aCurrentType = $aFavorites $aRandom = _ArrayRandomGenerate ( $iUseDir, UBound ( $aCurrentType ) -1 ) RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'favorites' ) Else $iUseDir = 0 GUICtrlSetState ( $idRadioFavorites, $GUI_UNCHECKED ) RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) MsgBox ( 262144+16, $sSoftTitle, 'Error : ' & @CRLF & _ 'There is no Wallpaper in the Favorites Directory !' & @CRLF & _ 'Use Tray Menu item : "Add to Favorites" for add a current displayed Wallpaper of your choice to the Favorites.' & @CRLF & @CRLF & _ 'Meanwhile Lanscape was selected by default.', 0, $hGuiSettings ) EndIf Case 5 $aCurrentType = $aHome RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'home' ) Case 6 $aCurrentType = $aLandscape RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'Landscape' ) Case 7 $aCurrentType = $aMisc RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'misc' ) Case 8 $aCurrentType = $aPaint RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'paint' ) Case 9 $aCurrentType = $aPeople RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'people' ) Case 10 $aCurrentType = $aPlanes RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'planes' ) Case 11 $aCurrentType = $aPlants RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'plants' ) Case 12 $aCurrentType = $aSpace RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'space' ) Case 13 $aCurrentType = $aSport RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'sport' ) Case 14 Local $sFileSelectFolder Local $sRegRead = RegRead ( $sRegKeySettings, 'YoursDirPath' ) If @error Or Not FileExists ( $sRegRead ) Then $sFileSelectFolder = FileSelectFolder ( 'Select Your Wallpaper directory', @DesktopDir, 2+4, '', $hGuiSettings ) If Not @error Then $aYours = _MultiFileTypeListToArray ( $sFileSelectFolder, '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) Else $aCurrentType = $aLandscape RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) GUICtrlSetState ( $idRadioYours, $GUI_UNCHECKED ) _TrayTip ( $sSoftTitle, ' There is no Wallpapers in selected Directory !' & @CRLF & 'Landscape is set by default.', 2 ) EndIf Else $sFileSelectFolder = $sRegRead $aYours = _MultiFileTypeListToArray ( $sRegRead, '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) EndIf If UBound ( $aYours ) - 1 > 1 Then $aCurrentType = $aYours $iUseDir = 1 RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'yours' ) RegWrite ( $sRegKeySettings, 'YoursDirPath', 'REG_SZ', $sFileSelectFolder ) _TrayTip ( $sSoftTitle, UBound ( $aYours ) - 1 & ' Wallpapers were found in selected Directory !', 1 ) Else $aCurrentType = $aLandscape RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) _TrayTip ( $sSoftTitle, ' There is no Wallpapers in selected Directory !' & @CRLF & 'Landscape is set by default.', 2 ) EndIf Case 15 If $iSexyEnable Then $aCurrentType = $aSexy RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'sexy' ) Else $aCurrentType = $aLandscape RegWrite ( $sRegKeySettings, 'WallpaperType', 'REG_SZ', 'landscape' ) GUICtrlSetState ( $idRadioLandscape, $GUI_CHECKED ) GUICtrlSetState ( $idRadioSexy, $GUI_UNCHECKED ) EndIf EndSwitch $aRandom = _ArrayRandomGenerate ( $iUseDir, UBound ( $aCurrentType ) -1 ) _SettingsSave () EndFunc ;==> _WallpaperTypeChange () Func _WallpaperUndo () If UBound ( $aWallpaperOld ) -1 < 2 Then Return $sBmpFile = $aWallpaperOld[UBound ( $aWallpaperOld ) -2] _WallpaperSet ( $sBmpFile ) EndFunc ;==> _WallpaperUndo () Func _WallpaperYoursDirSelect () _GuiCtrlPicButton_SimulateAction ( $idButtonSelectYours, 1 ) Local $sFileSelectFolder = FileSelectFolder ( 'Select Your Wallpaper directory', @DesktopDir, 2+4, '', $hGuiSettings ) If @error Then _TrayTip ( $sSoftTitle, 'No folder was selected !', 2 ) Return EndIf $aYours = _MultiFileTypeListToArray ( $sFileSelectFolder, '*.jpg,*.jpeg,*.gif,*.bmp,*.png', 1 ) If UBound ( $aYours ) - 1 > 0 Then RegWrite ( $sRegKeySettings, 'YoursDirPath', 'REG_SZ', $sFileSelectFolder ) _TrayTip ( $sSoftTitle, UBound ( $aYours ) - 1 & ' Wallpapers were found in selected Directory !', 1 ) If _GuiCtrlIsChecked ( $idRadioYours ) Then RegWrite ( $sRegKeySettings, 'YoursDirPath', 'REG_SZ', $sFileSelectFolder ) $aCurrentType = $aYours $aRandom = _ArrayRandomGenerate ( $iUseDir, UBound ( $aCurrentType ) -1 ) EndIf Else _TrayTip ( $sSoftTitle, 'There is no Wallpapers in selected Directory !', 2 ) EndIf EndFunc ;==> _WallpaperYoursDirSelect () Func _WaterEffectBlob () Local $iWaterBlobRadius = 4 Local $iWaterBlobHeight = 150 DllCall ( $hWaterDll, 'int', 'waterblob', 'int', $iXwb, 'int', $iYwb, 'int', $iWaterBlobRadius, 'int', $iWaterBlobHeight ) If @error Then Return SetError ( 1, 0, '' ) EndFunc ;==> _WaterEffectBlob () Func _WaterEffectChangeCoordinates () $iXwb = Random ( 30, $iBMPWidth - 30, 1 ) $iYwb = Random ( 30, $iBMPHeight-30, 1 ) If $iTimer2 = 10000 Then AdlibUnRegister ( '_WaterEffectChangeCoordinates' ) $iTimer2 = 1000 AdlibRegister ( '_WaterEffectChangeCoordinates', $iTimer2 ) AdlibUnRegister ( '_WaterEffectBlob' ) $iTimer1 = 1000 AdlibRegister ( '_WaterEffectBlob', $iTimer1 ) EndIf EndFunc ;==> _WaterEffectChangeCoordinates () Func _WaterEffectDisable () DllCall ( $hWaterDll, 'int', 'disablewater' ) If @error Then Return SetError ( 1, 0, '' ) EndFunc ;==> _WaterEffectDisable () Func _WaterEffectEnable ( $sBmpFilePath, $hWnd, $iWaterRadius = 5, $iWaterHeight = 20, $iLeft = 0, $iTop = 0 ) If Not FileExists ( $sBmpFilePath ) Then Return SetError ( 1, 0, '' ) If Not IsHWnd ( $hWnd ) Then Return SetError ( 2, 0, '' ) Local $sWaterDllFilePath = @TempDir & '\WaterCtrl.dll' If Not FileExists ( $sWaterDllFilePath ) Then Waterctrldll ( 'WaterCtrl.dll', @TempDir ) $hWaterDll = DllOpen ( $sWaterDllFilePath ) If $hWaterDll = -1 Then Return SetError ( 3, 0, '' ) ; A new BMP is created and is flipped for being displayed as original. $sFlippedBMP = @TempDir & '\FlipedImage.bmp' Local $hImage = _GDIPlus_ImageLoadFromFile ( $sBmpFilePath ) $iBMPWidth = _GDIPlus_ImageGetWidth ( $hImage ) $iXwb = Int ( $iBMPWidth / 2 ) $iBMPHeight = _GDIPlus_ImageGetHeight ( $hImage ) $iYwb = $iBMPHeight DllCall ( $ghGDIPDll, 'int', 'GdipImageRotateFlip', 'hwnd', $hImage, 'long', 6 ) ; $Rotate180FlipX If @error Then Return SetError ( 4, 0, '' ) _GDIPlus_ImageSaveToFile ( $hImage, $sFlippedBMP ) _WinAPI_DeleteObject ( $hImage ) $hImage = 0 Local $aHLoadBMP = DllCall ( $hUser32DLL, 'handle', 'LoadImageW', 'handle', 0, 'wstr', $sFlippedBMP, 'uint', 0, 'int', 0, 'int', 0, 'uint', $LR_LOADFROMFILE ) If @error Then Return SetError ( 5, 0, '' ) Local $aRet = DllCall ( $hWaterDll, 'int', 'enablewater', 'hwnd', $hWnd, 'int', $iLeft, 'int', $iTop, 'hwnd', $aHLoadBMP[0], 'int', $iWaterRadius, 'int', $iWaterHeight ) If @error Or $aRet[4]=0 Then Return SetError ( 6, 0, '' ) Return SetError ( 0, 0, $hWaterDll ) EndFunc ;==> _WaterEffectEnable () Func _WaterEffectFlatten () DllCall ( $hWaterDll, 'int', 'flattenwater' ) If @error Then Return SetError ( 1, 0, '' ) EndFunc ;==> _WaterEffectFlatten () Func _WinAPI_BitBlt($hDestDC, $iXDest, $iYDest, $iWidth, $iHeight, $hSrcDC, $iXSrc, $iYSrc, $iROP) Local $aResult = DllCall('gdi32.dll', 'bool', 'BitBlt', 'handle', $hDestDC, 'int', $iXDest, 'int', $iYDest, 'int', $iWidth, 'int', $iHeight, 'handle', $hSrcDC, 'int', $iXSrc, 'int', $iYSrc, 'dword', $iROP) If @error Then Return SetError(@error, @extended, False) Return $aResult[0] EndFunc ;==> _WinAPI_BitBlt () Func _WinAPI_CopyBitmap($hBitmap) $hBitmap = _WinAPI_CopyImage($hBitmap, 0, 0, 0, 0x2000) Return SetError(@error, @extended, $hBitmap) EndFunc ;==> _WinAPI_CopyBitmap () Func _WinAPI_CopyImage($hImage, $iType = 0, $xDesired = 0, $yDesired = 0, $iFlags = 0) Local $Ret = DllCall($hUser32DLL, 'handle', 'CopyImage', 'handle', $hImage, 'uint', $iType, 'int', $xDesired, 'int', $yDesired, 'uint', $iFlags) If @error Then Return SetError(@error, @extended, 0) Return $Ret[0] EndFunc ;==> _WinAPI_CopyImage () Func _WinAPI_Create32BitHBITMAP($hIcon, $fDib = 0, $fDelete = 0) Local $hBitmap = 0 Local $DIB[2] = [0, 0] Local $hTemp = _WinAPI_Create32BitHICON($hIcon) If @error Then Return SetError(@error, @extended, 0) Local $iError = 0 Do Local $tICONINFO = DllStructCreate($tagICONINFO) Local $Ret = DllCall($hUser32DLL, 'bool', 'GetIconInfo', 'handle', $hTemp, 'struct*', $tICONINFO) If @error Or Not $Ret[0] Then $iError = @error + 10 ExitLoop EndIf For $i = 0 To 1 $DIB[$i] = DllStructGetData($tICONINFO, $i + 4) Next Local $tBITMAP = DllStructCreate($tagBITMAP) If Not _WinAPI_GetObject($DIB[0], DllStructGetSize($tBITMAP), DllStructGetPtr($tBITMAP)) Then $iError = @error + 20 ExitLoop EndIf If $fDib Then $hBitmap = _WinAPI_CreateDIB(DllStructGetData($tBITMAP, 'bmWidth'), DllStructGetData($tBITMAP, 'bmHeight')) Local $hDC = _WinAPI_CreateCompatibleDC(0) Local $hSv = _WinAPI_SelectObject($hDC, $hBitmap) _WinAPI_DrawIconEx($hDC, 0, 0, $hTemp) _WinAPI_SelectObject($hDC, $hSv) _WinAPI_DeleteDC($hDC) Else $hBitmap = $DIB[1] $DIB[1] = 0 EndIf Until 1 For $i = 0 To 1 If $DIB[$i] Then _WinAPI_DeleteObject($DIB[$i]) Next _WinAPI_DestroyIcon($hTemp) If $iError Then Return SetError($iError, 0, 0) If Not $hBitmap Then Return SetError(12, 0, 0) If $fDelete Then _WinAPI_DestroyIcon($hIcon) Return $hBitmap EndFunc ;==> _WinAPI_Create32BitHBITMAP () Func _WinAPI_Create32BitHICON($hIcon, $fDelete = 0) Local $hBitmap[2], $hResult = 0 Local $DIB[2][2] = [[0, 0],[0, 0]] Local $tICONINFO = DllStructCreate($tagICONINFO) Local $Ret = DllCall($hUser32DLL, 'bool', 'GetIconInfo', 'handle', $hIcon, 'struct*', $tICONINFO) If @error Then Return SetError(@error, @extended, 0) If Not $Ret[0] Then Return SetError(10, 0, 0) For $i = 0 To 1 $hBitmap[$i] = DllStructGetData($tICONINFO, $i + 4) Next If _WinAPI_IsAlphaBitmap($hBitmap[1]) Then $DIB[0][0] = _WinAPI_CreateANDBitmap($hBitmap[1]) If Not @error Then $hResult = _WinAPI_CreateIconIndirect($hBitmap[1], $DIB[0][0]) Else Local $tSIZE = _WinAPI_GetBitmapDimension($hBitmap[1]) Local $Size[2] For $i = 0 To 1 $Size[$i] = DllStructGetData($tSIZE, $i + 1) Next Local $hSrcDC = _WinAPI_CreateCompatibleDC(0) Local $hDstDC = _WinAPI_CreateCompatibleDC(0) Local $hSrcSv, $hDstSv For $i = 0 To 1 $DIB[$i][0] = _WinAPI_CreateDIB($Size[0], $Size[1]) $DIB[$i][1] = $__Ext $hSrcSv = _WinAPI_SelectObject($hSrcDC, $hBitmap[$i]) $hDstSv = _WinAPI_SelectObject($hDstDC, $DIB[$i][0]) _WinAPI_BitBlt($hDstDC, 0, 0, $Size[0], $Size[1], $hSrcDC, 0, 0, 0x00C000CA) _WinAPI_SelectObject($hSrcDC, $hSrcSv) _WinAPI_SelectObject($hDstDC, $hDstSv) Next _WinAPI_DeleteDC($hSrcDC) _WinAPI_DeleteDC($hDstDC) $Ret = DllCall($hUser32DLL, 'lresult', 'CallWindowProc', 'ptr', __XORProc(), 'ptr', 0, 'uint', $Size[0] * $Size[1] * 4, 'wparam', $DIB[0][1], 'lparam', $DIB[1][1]) If Not @error And $Ret[0] Then $hResult = _WinAPI_CreateIconIndirect($DIB[1][0], $hBitmap[0]) EndIf For $i = 0 To 1 _WinAPI_DeleteObject($hBitmap[$i]) If $DIB[$i][0] Then _WinAPI_DeleteObject($DIB[$i][0]) Next If Not $hResult Then Return SetError(11, 0, 0) If $fDelete Then _WinAPI_DestroyIcon($hIcon) Return $hResult EndFunc ;==> _WinAPI_Create32BitHICON () Func _WinAPI_CreateANDBitmap($hBitmap) Local $Error = 0, $hDib = 0 $hBitmap = _WinAPI_CopyBitmap($hBitmap) If Not $hBitmap Then Return SetError(@error + 20, @extended, 0) Do Local $tDIB[2] $tDIB[0] = DllStructCreate($tagDIBSECTION) If (Not _WinAPI_GetObject($hBitmap, DllStructGetSize($tDIB[0]), DllStructGetPtr($tDIB[0]))) Or (DllStructGetData($tDIB[0], 'bmBitsPixel') <> 32) Or (DllStructGetData($tDIB[0], 'biCompression')) Then $Error = 10 ExitLoop EndIf $tDIB[1] = DllStructCreate($tagBITMAP) $hDib = _WinAPI_CreateDIB(DllStructGetData($tDIB[0], 'bmWidth'), DllStructGetData($tDIB[0], 'bmHeight'), 1) If Not _WinAPI_GetObject($hDib, DllStructGetSize($tDIB[1]), DllStructGetPtr($tDIB[1])) Then $Error = 11 ExitLoop EndIf Local $Ret = DllCall($hUser32DLL, 'lresult', 'CallWindowProc', 'ptr', __ANDProc(), 'ptr', 0, 'uint', 0, 'wparam', DllStructGetPtr($tDIB[0]), 'lparam', DllStructGetPtr($tDIB[1])) If @error Then $Error = @error ExitLoop EndIf If Not $Ret[0] Then $Error = 12 ExitLoop EndIf $Error = 0 Until 1 _WinAPI_DeleteObject($hBitmap) If $Error Then If $hDib Then _WinAPI_DeleteObject($hDib) $hDib = 0 EndIf Return SetError($Error, 0, $hDib) EndFunc ;==> _WinAPI_CreateANDBitmap () Func _WinAPI_CreateBitmap($iWidth, $iHeight, $iPlanes = 1, $iBitsPerPel = 1, $pBits = 0) Local $aResult = DllCall('gdi32.dll', 'handle', 'CreateBitmap', 'int', $iWidth, 'int', $iHeight, 'uint', $iPlanes, 'uint', $iBitsPerPel, 'ptr', $pBits) If @error Then Return SetError(@error, @extended, 0) Return $aResult[0] EndFunc ;==> _WinAPI_CreateBitmap () Func _WinAPI_CreateCompatibleDC($hDC) Local $aResult = DllCall('gdi32.dll', 'handle', 'CreateCompatibleDC', 'handle', $hDC) If @error Then Return SetError(@error, @extended, 0) Return $aResult[0] EndFunc ;==> _WinAPI_CreateCompatibleDC () Func _WinAPI_CreateDIB($iWidth, $iHeight, $iBitsPerPel = 32, $tColorTable = 0, $iColorCount = 0) Local $RGBQ[2], $Colors Switch $iBitsPerPel Case 1 $Colors = 2 Case 4 $Colors = 16 Case 8 $Colors = 256 Case Else $Colors = 0 EndSwitch If $Colors Then If Not IsDllStruct($tColorTable) Then Switch $iBitsPerPel Case 1 $RGBQ[0] = 0 $RGBQ[1] = 0xFFFFFF $tColorTable = _WinAPI_CreateDIBColorTable($RGBQ) Case Else EndSwitch Else If $Colors > $iColorCount Then $Colors = $iColorCount If (Not $Colors) Or ((4 * $Colors) > DllStructGetSize($tColorTable)) Then Return SetError(20, 0, 0) EndIf $RGBQ = ';dword aRGBQuad[' & $Colors & ']' Else $RGBQ = '' EndIf Local $tBITMAPINFO = DllStructCreate($tagBITMAPINFOHEADER & $RGBQ) DllStructSetData($tBITMAPINFO, 'biSize', 40) DllStructSetData($tBITMAPINFO, 'biWidth', $iWidth) DllStructSetData($tBITMAPINFO, 'biHeight', $iHeight) DllStructSetData($tBITMAPINFO, 'biPlanes', 1) DllStructSetData($tBITMAPINFO, 'biBitCount', $iBitsPerPel) DllStructSetData($tBITMAPINFO, 'biCompression', 0) DllStructSetData($tBITMAPINFO, 'biSizeImage', 0) DllStructSetData($tBITMAPINFO, 'biXPelsPerMeter', 0) DllStructSetData($tBITMAPINFO, 'biYPelsPerMeter', 0) DllStructSetData($tBITMAPINFO, 'biClrUsed', $Colors) DllStructSetData($tBITMAPINFO, 'biClrImportant', 0) If $Colors Then If IsDllStruct($tColorTable) Then _WinAPI_MoveMemory(DllStructGetPtr($tBITMAPINFO, 'aRGBQuad'), DllStructGetPtr($tColorTable), 4 * $Colors) Else _WinAPI_ZeroMemory(DllStructGetPtr($tBITMAPINFO, 'aRGBQuad'), 4 * $Colors) EndIf EndIf Local $hBitmap = _WinAPI_CreateDIBSection(0, $tBITMAPINFO, 0, $__Ext) If Not $hBitmap Then Return SetError(@error, @extended, 0) Return $hBitmap EndFunc ;==> _WinAPI_CreateDIB () Func _WinAPI_CreateDIBColorTable(Const ByRef $aColorTable, $iStart = 0, $iEnd = -1) If __CheckErrorArrayBounds($aColorTable, $iStart, $iEnd) Then Return SetError(@error + 10, @extended, 0) Local $tColorTable = DllStructCreate('dword[' & ($iEnd - $iStart + 1) & ']') Local $Count = 1 For $i = $iStart To $iEnd DllStructSetData($tColorTable, 1, _WinAPI_SwitchColor(__RGB($aColorTable[$i])), $Count) $Count += 1 Next Return $tColorTable EndFunc ;==> _WinAPI_CreateDIBColorTable () Func _WinAPI_CreateDIBSection($hDC, $tBITMAPINFO, $iUsage, ByRef $pBits, $hSection = 0, $iOffset = 0) $pBits = 0 Local $Ret = DllCall('gdi32.dll', 'handle', 'CreateDIBSection', 'handle', $hDC, 'struct*', $tBITMAPINFO, 'uint', $iUsage, 'ptr*', 0, 'handle', $hSection, 'dword', $iOffset) If @error Or Not $Ret[0] Then Return SetError(@error, @extended, 0) $pBits = $Ret[4] Return $Ret[0] EndFunc ;==> _WinAPI_CreateDIBSection () Func _WinAPI_CreateIconIndirect($hBitmap, $hMask, $XHotspot = 0, $YHotspot = 0, $fIcon = 1) Local $tICONINFO = DllStructCreate($tagICONINFO) DllStructSetData($tICONINFO, 1, $fIcon) DllStructSetData($tICONINFO, 2, $XHotspot) DllStructSetData($tICONINFO, 3, $YHotspot) DllStructSetData($tICONINFO, 4, $hMask) DllStructSetData($tICONINFO, 5, $hBitmap) Local $Ret = DllCall($hUser32DLL, 'handle', 'CreateIconIndirect', 'struct*', $tICONINFO) If @error Then Return SetError(@error, @extended, 0) Return $Ret[0] EndFunc ;==> _WinAPI_CreateIconIndirect () Func _WinAPI_CreateSize($iWidth, $iHeight) Local $tSIZE = DllStructCreate($tagSIZE) DllStructSetData($tSIZE, 1, $iWidth) DllStructSetData($tSIZE, 2, $iHeight) Return $tSIZE EndFunc ;==> _WinAPI_CreateSize () Func _WinAPI_DeleteDC($hDC) Local $aResult = DllCall('gdi32.dll', 'bool', 'DeleteDC', 'handle', $hDC) If @error Then Return SetError(@error, @extended, False) Return $aResult[0] EndFunc ;==> _WinAPI_DeleteDC () Func _WinAPI_DeleteObject($hObject) Local $aResult = DllCall('gdi32.dll', 'bool', 'DeleteObject', 'handle', $hObject) If @error Then Return SetError(@error, @extended, False) Return $aResult[0] EndFunc ;==> _WinAPI_DeleteObject () Func _WinAPI_DestroyIcon($hIcon) Local $aResult = DllCall($hUser32DLL, 'bool', 'DestroyIcon', 'handle', $hIcon) If @error Then Return SetError(@error, @extended, False) Return $aResult[0] EndFunc ;==> _WinAPI_DestroyIcon () Func _WinAPI_DrawIconEx($hDC, $iX, $iY, $hIcon, $iWidth = 0, $iHeight = 0, $iStep = 0, $hBrush = 0, $iFlags = 3) Local $iOptions Switch $iFlags Case 1 $iOptions = $DI_MASK Case 2 $iOptions = $DI_IMAGE Case 3 $iOptions = $DI_NORMAL Case 4 $iOptions = $DI_COMPAT Case 5 $iOptions = $DI_DEFAULTSIZE Case Else $iOptions = $DI_NOMIRROR EndSwitch Local $aResult = DllCall($hUser32DLL, 'bool', 'DrawIconEx', 'handle', $hDC, 'int', $iX, 'int', $iY, 'handle', $hIcon, 'int', $iWidth, 'int', $iHeight, 'uint', $iStep, 'handle', $hBrush, 'uint', $iOptions) If @error Then Return SetError(@error, @extended, False) Return $aResult[0] EndFunc ;==> _WinAPI_DrawIconEx () Func _WinAPI_FatalExit($iCode) DllCall('kernel32.dll', 'none', 'FatalExit', 'int', $iCode) If @error Then Return SetError(@error, @extended) EndFunc ;==> _WinAPI_FatalExit () Func _WinAPI_GetBitmapDimension($hBitmap) Local Const $tagBITMAP = 'struct;long bmType;long bmWidth;long bmHeight;long bmWidthBytes;ushort bmPlanes;ushort bmBitsPixel;ptr bmBits;endstruct' Local $tObj = DllStructCreate($tagBITMAP) Local $Ret = DllCall('gdi32.dll', 'int', 'GetObject', 'handle', $hBitmap, 'int', DllStructGetSize($tObj), 'struct*', $tObj) If @error Or Not $Ret[0] Then Return SetError(@error + 10, @extended, 0) Return _WinAPI_CreateSize(DllStructGetData($tObj, 'bmWidth'), DllStructGetData($tObj, 'bmHeight')) EndFunc ;==> _WinAPI_GetBitmapDimension () Func _WinAPI_GetClassName($hWnd) If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd) Local $aResult = DllCall($hUser32DLL, 'int', 'GetClassNameW', 'hwnd', $hWnd, 'wstr', '', 'int', 4096) If @error Or Not $aResult[0] Then Return SetError(@error, @extended, '') Return SetExtended($aResult[0], $aResult[2]) EndFunc ;==> _WinAPI_GetClassName () Func _WinAPI_GetObject($hObject, $iSize, $pObject) Local $aResult = DllCall('gdi32.dll', 'int', 'GetObjectW', 'handle', $hObject, 'int', $iSize, 'ptr', $pObject) If @error Then Return SetError(@error, @extended, 0) Return $aResult[0] EndFunc ;==> _WinAPI_GetObject () Func _WinAPI_GetWindow($hWnd, $iCmd) Local $aResult = DllCall($hUser32DLL, 'hwnd', 'GetWindow', 'hwnd', $hWnd, 'uint', $iCmd) If @error Then Return SetError(@error, @extended, 0) Return $aResult[0] EndFunc ;==> _WinAPI_GetWindow () Func _WinAPI_GUIDFromString($sGUID) Local $tGUID = DllStructCreate($tagGUID) _WinAPI_GUIDFromStringEx($sGUID, $tGUID) If @error Then Return SetError(@error + 10, @extended, 0) Return $tGUID EndFunc ;==> _WinAPI_GUIDFromString () Func _WinAPI_GUIDFromStringEx($sGUID, $pGUID) Local $aResult = DllCall('ole32.dll', 'long', 'CLSIDFromString', 'wstr', $sGUID, 'struct*', $pGUID) If @error Then Return SetError(@error, @extended, False) Return $aResult[0] EndFunc ;==> _WinAPI_GUIDFromStringEx () Func _WinAPI_IsAlphaBitmap($hBitmap) $hBitmap = _WinAPI_CopyBitmap($hBitmap) If Not $hBitmap Then Return SetError(@error + 20, @extended, 0) Local $Ret, $Error = 0 Do Local $tDIB = DllStructCreate($tagDIBSECTION) If (Not _WinAPI_GetObject($hBitmap, DllStructGetSize($tDIB), DllStructGetPtr($tDIB))) Or (DllStructGetData($tDIB, 'bmBitsPixel') <> 32) Or (DllStructGetData($tDIB, 'biCompression')) Then $Error = 1 ExitLoop EndIf $Ret = DllCall($hUser32DLL, 'int', 'CallWindowProc', 'ptr', __AlphaProc(), 'ptr', 0, 'uint', 0, 'struct*', $tDIB, 'ptr', 0) If @error Or ($Ret[0] = -1) Then $Error = @error + 10 ExitLoop EndIf Until 1 _WinAPI_DeleteObject($hBitmap) If $Error Then Return SetError($Error, 0, 0) Return $Ret[0] EndFunc ;==> _WinAPI_IsAlphaBitmap () Func _WinAPI_IsBadReadPtr($pAddress, $iLength) Local $Ret = DllCall('kernel32.dll', 'bool', 'IsBadReadPtr', 'ptr', $pAddress, 'uint_ptr', $iLength) If @error Then Return SetError(@error, @extended, False) Return $Ret[0] EndFunc ;==> _WinAPI_IsBadReadPtr () Func _WinAPI_IsBadWritePtr($pAddress, $iLength) Local $Ret = DllCall('kernel32.dll', 'bool', 'IsBadWritePtr', 'ptr', $pAddress, 'uint_ptr', $iLength) If @error Then Return SetError(@error, @extended, False) Return $Ret[0] EndFunc ;==> _WinAPI_IsBadWritePtr () Func _WinAPI_IsWindowVisible($hWnd) Local $aResult = DllCall($hUser32DLL, 'bool', 'IsWindowVisible', 'hwnd', $hWnd) If @error Then Return SetError(@error, @extended, 0) Return $aResult[0] EndFunc ;==> _WinAPI_IsWindowVisible () Func _WinAPI_MoveMemory($pDestination, $pSource, $iLength) If _WinAPI_IsBadReadPtr($pSource, $iLength) Then Return SetError(10, @extended, 0) If _WinAPI_IsBadWritePtr($pDestination, $iLength) Then Return SetError(11, @extended, 0) DllCall('ntdll.dll', 'none', 'RtlMoveMemory', 'ptr', $pDestination, 'ptr', $pSource, 'ulong_ptr', $iLength) If @error Then Return SetError(@error, @extended, 0) Return 1 EndFunc ;==> _WinAPI_MoveMemory () Func _WinAPI_SelectObject($hDC, $hGDIObj) Local $aResult = DllCall('gdi32.dll', 'handle', 'SelectObject', 'handle', $hDC, 'handle', $hGDIObj) If @error Then Return SetError(@error, @extended, False) Return $aResult[0] EndFunc ;==> _WinAPI_SelectObject () Func _WinAPI_SetLayeredWindowAttributes($hWnd, $i_transcolor, $Transparency = 255, $dwFlags = 0x03, $isColorRef = False) If $dwFlags = Default Or $dwFlags = '' Or $dwFlags < 0 Then $dwFlags = 0x03 If Not $isColorRef Then $i_transcolor = Int(BinaryMid($i_transcolor, 3, 1) & BinaryMid($i_transcolor, 2, 1) & BinaryMid($i_transcolor, 1, 1)) Local $aResult = DllCall($hUser32DLL, 'bool', 'SetLayeredWindowAttributes', 'hwnd', $hWnd, 'INT', $i_transcolor, 'byte', $Transparency, 'dword', $dwFlags) If @error Then Return SetError(@error, @extended, False) Return $aResult[0] EndFunc ;==> _WinAPI_SetLayeredWindowAttributes () Func _WinAPI_ShellExtractIcon($sIcon, $iIndex, $iWidth, $iHeight) Local $Ret = DllCall('shell32.dll', 'int', 'SHExtractIconsW', 'wstr', $sIcon, 'int', $iIndex, 'int', $iWidth, 'int', $iHeight, 'ptr*', 0, 'ptr*', 0, 'int', 1, 'int', 0) If (@error) Or (Not $Ret[0]) Or (Not $Ret[5]) Then Return SetError(1, 0, 0) Return $Ret[5] EndFunc ;==> _WinAPI_ShellExtractIcon Func _WinAPI_StringFromGUID($pGUID) Local $aResult = DllCall('ole32.dll', 'int', 'StringFromGUID2', 'struct*', $pGUID, 'wstr', '', 'int', 40) If @error Or Not $aResult[0] Then Return SetError(@error, @extended, '') Return SetExtended($aResult[0], $aResult[2]) EndFunc ;==> _WinAPI_StringFromGUID () Func _WinAPI_SwitchColor($iColor) If $iColor = -1 Then Return $iColor Return BitOR(BitAND($iColor, 0x00FF00), BitShift(BitAND($iColor, 0x0000FF), -16), BitShift(BitAND($iColor, 0xFF0000), 16)) EndFunc ;==> _WinAPI_SwitchColor () Func _WinAPI_WideCharToMultiByte($pUnicode, $iCodePage = 0, $bRetString = True) Local $sUnicodeType = 'wstr' If Not IsString($pUnicode) Then $sUnicodeType = 'struct*' Local $aResult = DllCall('kernel32.dll', 'int', 'WideCharToMultiByte', 'uint', $iCodePage, 'dword', 0, $sUnicodeType, $pUnicode, 'int', -1, 'ptr', 0, 'int', 0, 'ptr', 0, 'ptr', 0) If @error Or Not $aResult[0] Then Return SetError(@error + 20, @extended, '') Local $tMultiByte = DllStructCreate('char[' & $aResult[0] & ']') $aResult = DllCall('kernel32.dll', 'int', 'WideCharToMultiByte', 'uint', $iCodePage, 'dword', 0, $sUnicodeType, $pUnicode, 'int', -1, 'struct*', $tMultiByte, 'int', $aResult[0], 'ptr', 0, 'ptr', 0) If @error Or Not $aResult[0] Then Return SetError(@error + 10, @extended, '') If $bRetString Then Return DllStructGetData($tMultiByte, 1) Return $tMultiByte EndFunc ;==> _WinAPI_WideCharToMultiByte () Func _WinAPI_ZeroMemory($pMemory, $iLength) If _WinAPI_IsBadWritePtr($pMemory, $iLength) Then Return SetError(11, @extended, 0) DllCall('ntdll.dll', 'none', 'RtlZeroMemory', 'ptr', $pMemory, 'ulong_ptr', $iLength) If @error Then Return SetError(@error, @extended, 0) Return 1 EndFunc ;==> _WinAPI_ZeroMemory () Func __WinAPI_EnumWindowsAdd($hWnd, $sClass = '') If $sClass = '' Then $sClass = _WinAPI_GetClassName($hWnd) $__gaWinList_WinAPI[0][0] += 1 Local $iCount = $__gaWinList_WinAPI[0][0] If $iCount >= $__gaWinList_WinAPI[0][1] Then ReDim $__gaWinList_WinAPI[$iCount + 64][2] $__gaWinList_WinAPI[0][1] += 64 EndIf $__gaWinList_WinAPI[$iCount][0] = $hWnd $__gaWinList_WinAPI[$iCount][1] = $sClass EndFunc ;==> __WinAPI_EnumWindowsAdd () Func __WinAPI_EnumWindowsChild($hWnd, $fVisible = True) $hWnd = _WinAPI_GetWindow($hWnd, $GW_CHILD) While $hWnd <> 0 If (Not $fVisible) Or _WinAPI_IsWindowVisible($hWnd) Then __WinAPI_EnumWindowsAdd($hWnd) __WinAPI_EnumWindowsChild($hWnd, $fVisible) EndIf $hWnd = _WinAPI_GetWindow($hWnd, $GW_HWNDNEXT) WEnd EndFunc ;==> __WinAPI_EnumWindowsChild () Func __AlphaProc() Static $pProc = 0 If Not $pProc Then If @AutoItX64 Then $pProc = __Init(Binary( _ '0x48894C240848895424104C894424184C894C24205541574831C050504883EC28' & _ '48837C24600074054831C0EB0748C7C0010000004821C0751F488B6C24604883' & _ '7D180074054831C0EB0748C7C0010000004821C07502EB0948C7C001000000EB' & _ '034831C04821C0740C48C7C0FFFFFFFF4863C0EB6F48C744242800000000488B' & _ '6C24604C637D04488B6C2460486345084C0FAFF849C1E7024983C7FC4C3B7C24' & _ '287C36488B6C24604C8B7D184C037C24284983C7034C897C2430488B6C243080' & _ '7D0000740C48C7C0010000004863C0EB1348834424280471A54831C04863C0EB' & _ '034831C04883C438415F5DC3')) Else $pProc = __Init(Binary( _ '0x555331C05050837C241C00740431C0EB05B80100000021C075198B6C241C837D' & _ '1400740431C0EB05B80100000021C07502EB07B801000000EB0231C021C07407' & _ 'B8FFFFFFFFEB4FC70424000000008B6C241C8B5D048B6C241C0FAF5D08C1E302' & _ '83C3FC3B1C247C288B6C241C8B5D14031C2483C303895C24048B6C2404807D00' & _ '007407B801000000EB0C8304240471BE31C0EB0231C083C4085B5DC21000')) EndIf EndIf Return $pProc EndFunc ;==> __AlphaProc () Func __ANDProc() Static $pProc = 0 If Not $pProc Then If @AutoItX64 Then $pProc = __Init(Binary( _ '0x48894C240848895424104C894424184C894C2420554157415648C7C009000000' & _ '4883EC0848C704240000000048FFC875EF4883EC284883BC24A0000000007405' & _ '4831C0EB0748C7C0010000004821C00F85840000004883BC24A8000000007405' & _ '4831C0EB0748C7C0010000004821C07555488BAC24A000000048837D18007405' & _ '4831C0EB0748C7C0010000004821C07522488BAC24A800000048837D18007405' & _ '4831C0EB0748C7C0010000004821C07502EB0948C7C001000000EB034831C048' & _ '21C07502EB0948C7C001000000EB034831C04821C07502EB0948C7C001000000' & _ 'EB034831C04821C0740B4831C04863C0E9D701000048C74424280000000048C7' & _ '44243000000000488BAC24A00000004C637D0849FFCF4C3B7C24300F8C9C0100' & _ '0048C74424380000000048C74424400000000048C744244800000000488BAC24' & _ 'A00000004C637D0449FFCF4C3B7C24480F8CDB000000488BAC24A00000004C8B' & _ '7D184C037C24284983C7034C897C2450488B6C2450807D000074264C8B7C2440' & _ '4C8B74243849F7DE4983C61F4C89F148C7C00100000048D3E04909C74C897C24' & _ '4048FF4424384C8B7C24384983FF1F7E6F4C8B7C244049F7D74C897C244048C7' & _ '442458180000004831C0483B4424587F3D488BAC24A80000004C8B7D184C037C' & _ '24604C897C24504C8B7C2440488B4C245849D3FF4C89F850488B6C2458588845' & _ '0048FF4424604883442458F871B948C74424380000000048C744244000000000' & _ '48834424280448FF4424480F810BFFFFFF48837C24380074794C8B7C244049F7' & _ 'D74C8B74243849F7DE4983C6204C89F148C7C0FFFFFFFF48D3E04921C74C897C' & _ '244048C7442458180000004831C0483B4424587F3D488BAC24A80000004C8B7D' & _ '184C037C24604C897C24504C8B7C2440488B4C245849D3FF4C89F850488B6C24' & _ '585888450048FF4424604883442458F871B948FF4424300F814AFEFFFF48C7C0' & _ '010000004863C0EB034831C04883C470415E415F5DC3')) Else $pProc = __Init(Binary( _ '0x555357BA0800000083EC04C70424000000004A75F3837C243800740431C0EB05' & _ 'B80100000021C07562837C243C00740431C0EB05B80100000021C0753F8B6C24' & _ '38837D1400740431C0EB05B80100000021C075198B6C243C837D1400740431C0' & _ 'EB05B80100000021C07502EB07B801000000EB0231C021C07502EB07B8010000' & _ '00EB0231C021C07502EB07B801000000EB0231C021C0740731C0E969010000C7' & _ '042400000000C7442404000000008B6C24388B5D084B3B5C24040F8C3F010000' & _ 'C744240800000000C744240C00000000C7442410000000008B6C24388B5D044B' & _ '3B5C24100F8CA90000008B6C24388B5D14031C2483C303895C24148B6C241480' & _ '7D0000741C8B5C240C8B7C2408F7DF83C71F89F9B801000000D3E009C3895C24' & _ '0CFF4424088B5C240883FB1F7E578B5C240CF7D3895C240CC744241818000000' & _ '31C03B4424187F2D8B6C243C8B5D14035C241C895C24148B5C240C8B4C2418D3' & _ 'FB538B6C241858884500FF44241C83442418F871CBC744240800000000C74424' & _ '0C0000000083042404FF4424100F8145FFFFFF837C240800745B8B5C240CF7D3' & _ '8B7C2408F7DF83C72089F9B8FFFFFFFFD3E021C3895C240CC744241818000000' & _ '31C03B4424187F2D8B6C243C8B5D14035C241C895C24148B5C240C8B4C2418D3' & _ 'FB538B6C241858884500FF44241C83442418F871CBFF4424040F81AFFEFFFFB8' & _ '01000000EB0231C083C4205F5B5DC21000')) EndIf EndIf Return $pProc EndFunc ;==> __ANDProc () Func __CheckErrorArrayBounds(Const ByRef $aData, ByRef $iStart, ByRef $iEnd, $nDim = 1, $iDim = 0) If Not IsArray($aData) Then Return SetError(1, 0, 1) If UBound($aData, $iDim) <> $nDim Then Return SetError(2, 0, 1) If $iStart < 0 Then $iStart = 0 Local $iUBound = UBound($aData) - 1 If $iEnd < 1 Or $iEnd > $iUBound Then $iEnd = $iUBound If $iStart > $iEnd Then Return SetError(4, 0, 1) Return 0 EndFunc ;==> __CheckErrorArrayBounds () Func __FatalExit($iCode, $sText = '') If $sText Then MsgBox(0x00040010, 'AutoIt', $sText) _WinAPI_FatalExit($iCode) EndFunc ;==> __FatalExit () Func __Init($bData) Local $Length = BinaryLen($bData) Local $Ret = DllCall('kernel32.dll', 'ptr', 'VirtualAlloc', 'ptr', 0, 'ulong_ptr', $Length, 'dword', 0x00001000, 'dword', 0x00000040) If @error Or Not $Ret[0] Then __FatalExit(1, 'Error allocating memory.') Local $tData = DllStructCreate('byte[' & $Length & ']', $Ret[0]) DllStructSetData($tData, 1, $bData) Return $Ret[0] EndFunc ;==> __Init () Func __RGB($iColor) If $__iRGBMode Then $iColor = _WinAPI_SwitchColor($iColor) Return $iColor EndFunc ;==> __RGB () Func __XORProc() Static $pProc = 0 If Not $pProc Then If @AutoItX64 Then $pProc = __Init(Binary( _ '0x48894C240848895424104C894424184C894C24205541574831C050504883EC28' & _ '48837C24600074054831C0EB0748C7C0010000004821C0751B48837C24680074' & _ '054831C0EB0748C7C0010000004821C07502EB0948C7C001000000EB034831C0' & _ '4821C074084831C04863C0EB7748C7442428000000004C637C24584983C7FC4C' & _ '3B7C24287C4F4C8B7C24604C037C24284C897C2430488B6C2430807D00007405' & _ '4831C0EB0748C7C0010000004821C0741C4C8B7C24684C037C24284983C7034C' & _ '897C2430488B6C2430C64500FF48834424280471A148C7C0010000004863C0EB' & _ '034831C04883C438415F5DC3')) Else $pProc = __Init(Binary( _ '0x555331C05050837C241C00740431C0EB05B80100000021C07516837C24200074' & _ '0431C0EB05B80100000021C07502EB07B801000000EB0231C021C0740431C0EB' & _ '5AC70424000000008B5C241883C3FC3B1C247C3E8B5C241C031C24895C24048B' & _ '6C2404807D0000740431C0EB05B80100000021C074168B5C2420031C2483C303' & _ '895C24048B6C2404C64500FF8304240471B6B801000000EB0231C083C4085B5D' & _ 'C21000')) EndIf EndIf Return $pProc EndFunc ;==> __XORProc () Func _WindowIsMinimized ( $hWnd ) ; return 0 or 1 If BitAnd ( WinGetState ( $hWnd ), 16 ) Then Return 1 EndFunc ;==> _WindowIsMinimized ( ) Func _WindowIsVisible ( $hWnd ) If BitAnd ( WinGetState ( $hWnd ), 2 ) Then Return 1 EndFunc ;==> _WindowIsVisible ( ) Func _WindowlMinimizeAll () Opt ( 'WinWaitDelay', 50 ) Local $hDesktop = WinGetHandle ( '[CLASS:Progman;TITLE:Program Manager]' ) Local $aWinList = WinList() ; based 1 For $i = 1 To $aWinList[0][0] If $aWinList[$i][0] <> '' _ And $aWinList[$i][1] <> $hDesktop _ And _WindowIsVisible ( $aWinList[$i][1] ) _ And Not _WindowIsMinimized ( $aWinList[$i][1] ) _ And _WinAPI_GetClassName ( $aWinList[$i][1] ) <> 'Button' Then ; Start button ;~ ConsoleWrite ( '-->-- [' & StringFormat ( '%03i', @ScriptLineNumber ) & '][' & @HOUR & @MIN & @SEC & '] $aWinList[$i][0] : ' & $aWinList[$i][0] & @Crlf ) ;~ ConsoleWrite ( '-->-- [' & StringFormat ( '%03i', @ScriptLineNumber ) & '][' & @HOUR & @MIN & @SEC & '] _WinAPI_GetClassName ( $aWinList[$i][1] ) : ' & _WinAPI_GetClassName ( $aWinList[$i][1] ) & @Crlf ) ;~ ConsoleWrite ( '-->-- [' & StringFormat ( '%03i', @ScriptLineNumber ) & '][' & @HOUR & @MIN & @SEC & '] $aWinList[$i][1] : ' & $aWinList[$i][1] & @Crlf ) WinSetState ( $aWinList[$i][1], '', @SW_MINIMIZE ) EndIf Next EndFunc ;==> _WindowlMinimizeAll () Func _WinHttpCloseHandle($hInternet) Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpCloseHandle', 'handle', $hInternet) If @error Or Not $aCall[0] Then Return SetError(1, 0, 0) Return 1 EndFunc ;==> _WinHttpCloseHandle () Func _WinHttpConnect($hSession, $sServerName, $iServerPort = Default) _WinHttpDefault($iServerPort, $INTERNET_DEFAULT_PORT) Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'handle', 'WinHttpConnect', _ 'handle', $hSession, _ 'wstr', $sServerName, _ 'dword', $iServerPort, _ 'dword', 0) If @error Or Not $aCall[0] Then Return SetError(1, 0, 0) Return $aCall[0] EndFunc ;==> _WinHttpConnect () Func _WinHttpCrackUrl($sURL, $iFlag = Default) _WinHttpDefault($iFlag, $ICU_ESCAPE) Local $tURL_COMPONENTS = DllStructCreate('dword StructSize;' & _ 'ptr SchemeName;' & _ 'dword SchemeNameLength;' & _ 'int Scheme;' & _ 'ptr HostName;' & _ 'dword HostNameLength;' & _ 'word Port;' & _ 'ptr UserName;' & _ 'dword UserNameLength;' & _ 'ptr Password;' & _ 'dword PasswordLength;' & _ 'ptr UrlPath;' & _ 'dword UrlPathLength;' & _ 'ptr ExtraInfo;' & _ 'dword ExtraInfoLength') DllStructSetData($tURL_COMPONENTS, 1, DllStructGetSize($tURL_COMPONENTS)) Local $tBuffers[6] Local $iURLLen = StringLen($sURL) For $i = 0 To 5 $tBuffers[$i] = DllStructCreate('wchar[' & $iURLLen + 1 & ']') Next DllStructSetData($tURL_COMPONENTS, 'SchemeNameLength', $iURLLen) DllStructSetData($tURL_COMPONENTS, 'SchemeName', DllStructGetPtr($tBuffers[0])) DllStructSetData($tURL_COMPONENTS, 'HostNameLength', $iURLLen) DllStructSetData($tURL_COMPONENTS, 'HostName', DllStructGetPtr($tBuffers[1])) DllStructSetData($tURL_COMPONENTS, 'UserNameLength', $iURLLen) DllStructSetData($tURL_COMPONENTS, 'UserName', DllStructGetPtr($tBuffers[2])) DllStructSetData($tURL_COMPONENTS, 'PasswordLength', $iURLLen) DllStructSetData($tURL_COMPONENTS, 'Password', DllStructGetPtr($tBuffers[3])) DllStructSetData($tURL_COMPONENTS, 'UrlPathLength', $iURLLen) DllStructSetData($tURL_COMPONENTS, 'UrlPath', DllStructGetPtr($tBuffers[4])) DllStructSetData($tURL_COMPONENTS, 'ExtraInfoLength', $iURLLen) DllStructSetData($tURL_COMPONENTS, 'ExtraInfo', DllStructGetPtr($tBuffers[5])) Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpCrackUrl', _ 'wstr', $sURL, _ 'dword', $iURLLen, _ 'dword', $iFlag, _ 'struct*', $tURL_COMPONENTS) If @error Or Not $aCall[0] Then Return SetError(1, 0, 0) Local $aRet[8] = [DllStructGetData($tBuffers[0], 1), _ DllStructGetData($tURL_COMPONENTS, 'Scheme'), _ DllStructGetData($tBuffers[1], 1), _ DllStructGetData($tURL_COMPONENTS, 'Port'), _ DllStructGetData($tBuffers[2], 1), _ DllStructGetData($tBuffers[3], 1), _ DllStructGetData($tBuffers[4], 1), _ DllStructGetData($tBuffers[5], 1)] Return $aRet EndFunc ;==> _WinHttpCrackUrl () Func _WinHttpDefault(ByRef $vInput, $vOutput) If $vInput = Default Or Number($vInput) = -1 Then $vInput = $vOutput EndFunc ;==> _WinHttpDefault () Func _WinHttpDownload ( $sFileUrl, $sFilePath ) Local $chunk, $data, $sType Local $aCrackedUrl = _WinHttpCrackUrl ( $sFileUrl, $ICU_DECODE ) If Not @error Then Local $hOpen = _WinHttpOpen ( $sUserAgent ) Local $sHostName = $aCrackedUrl[2] Local $iPort = $aCrackedUrl[3] _WinHttpSetTimeouts ( $hOpen, 0, $iTimeOut, $iTimeOut, $iTimeOut ) Local $hConnect = _WinHttpConnect ( $hOpen, $sHostName, $iPort ) Local $sFileName = $aCrackedUrl[6], $iFlag If StringLeft ( $sFileName, 1 ) <> '/' Then $sFileName = '/' & $sFileName Switch $aCrackedUrl[1] ; internet protocol scheme, 1 : http, 2 : https Case 1 $iFlag = $WINHTTP_FLAG_ESCAPE_DISABLE Case 2 $iFlag = $WINHTTP_FLAG_SECURE EndSwitch Local $hRequest = _WinHttpOpenRequest ( $hConnect, 'GET', $sFileName, 'HTTP/1.1', $sHostName, Default, $iFlag ) _WinHttpSendRequest ( $hRequest ) _WinHttpReceiveResponse ( $hRequest ) Local $sHeader, $iFileSize If _WinHttpQueryDataAvailable ( $hRequest ) Then $sHeader = StringStripWS ( _WinHttpQueryHeaders ( $hRequest ), 7 ) $iFileSize = _WinHttpQueryHeaders ( $hRequest, $WINHTTP_QUERY_CONTENT_LENGTH ) $sType = _WinHttpQueryHeaders ( $hRequest, $WINHTTP_QUERY_CONTENT_TYPE ) If $sType = 'image/jpeg' And $iFileSize <> 0 Then Local $iPercentOld, $hTimerInit = TimerInit () $data = Binary ( '' ) While 1 $chunk = _WinHttpReadData ( $hRequest, 2, 1024 ) If @error <> 0 Or Not @extended Then ExitLoop $data &= $chunk $iPercent = Int ( 100*BinaryLen ( $data ) / $iFileSize ) If $iPercentOld <> $iPercent And TimerDiff ( $hTimerInit ) > 100 Then If $iPercent Then _GDIPlus_GraphicsFillRect ( $hGraphic, 0, 0, 38, 30, $hBrush2 ) _GDIPlus_GraphicsDrawStringEx ( $hGraphic, StringFormat ( '%02i', $iPercent ) & '%', $hFont1, $aInfo[0], $hFormat, $hBrush1 ) EndIf $iPercentOld = $iPercent $hTimerInit = TimerInit () EndIf Sleep ( 10 ) WEnd _GDIPlus_GraphicsFillRect ( $hGraphic, 0, 0, 38, 30, $hBrush2 ) _GDIPlus_GraphicsDrawStringEx ( $hGraphic, '100', $hFont1, $aInfo[0], $hFormat, $hBrush1 ) Sleep ( 250 ) _GDIPlus_GraphicsFillRect ( $hGraphic, 0, 0, 38, 30, $hBrush2 ) ToolTip ( '' ) Local $hFile = FileOpen ( $sFilePath, 16+8+2 ) FileWrite ( $hFile, $data ) FileClose ( $hFile ) EndIf EndIf _WinHttpCloseHandle ( $hRequest ) _WinHttpCloseHandle ( $hConnect ) _WinHttpCloseHandle ( $hOpen ) $hRequest = 0 $hConnect = 0 $hOpen = 0 $iPercent = 0 _GDIPlus_FontDispose ( $hFont1 ) _GDIPlus_FontFamilyDispose ( $hFamily ) _GDIPlus_StringFormatDispose ( $hFormat ) _GDIPlus_BrushDispose ( $hBrush1 ) _GDIPlus_BrushDispose ( $hBrush2 ) _GDIPlus_GraphicsDispose ( $hGraphic ) If $data <> '' Then If $iFileSize And FileGetSize ( $sFilePath ) <> $iFileSize Then Return SetError ( 1, 0, 0 ) Else Return SetError ( 0, 0, 1 ) EndIf EndIf EndIf EndFunc ;==> _WinHttpDownload () Func _WinHttpOpen($sUserAgent = Default, $iAccessType = Default, $sProxyName = Default, $sProxyBypass = Default, $iFlag = Default) _WinHttpDefault($sUserAgent, 'AutoIt/3.3 WinHTTP/5.1') _WinHttpDefault($iAccessType, $WINHTTP_ACCESS_TYPE_NO_PROXY) _WinHttpDefault($sProxyName, $WINHTTP_NO_PROXY_NAME) _WinHttpDefault($sProxyBypass, $WINHTTP_NO_PROXY_BYPASS) _WinHttpDefault($iFlag, 0) Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'handle', 'WinHttpOpen', _ 'wstr', $sUserAgent, _ 'dword', $iAccessType, _ 'wstr', $sProxyName, _ 'wstr', $sProxyBypass, _ 'dword', $iFlag) If @error Or Not $aCall[0] Then Return SetError(1, 0, 0) If $iFlag = $WINHTTP_FLAG_ASYNC Then _WinHttpSetOption($aCall[0], $WINHTTP_OPTION_CONTEXT_VALUE, $WINHTTP_FLAG_ASYNC) Return $aCall[0] EndFunc ;==> _WinHttpOpen () Func _WinHttpOpenRequest($hConnect, $sVerb = Default, $sObjectName = Default, $sVersion = Default, $sReferrer = Default, $sAcceptTypes = Default, $iFlags = Default) _WinHttpDefault($sVerb, 'GET') _WinHttpDefault($sObjectName, '') _WinHttpDefault($sVersion, 'HTTP/1.1') _WinHttpDefault($sReferrer, $WINHTTP_NO_REFERER) _WinHttpDefault($iFlags, $WINHTTP_FLAG_ESCAPE_DISABLE) Local $pAcceptTypes If $sAcceptTypes = Default Or Number($sAcceptTypes) = -1 Then $pAcceptTypes = $WINHTTP_DEFAULT_ACCEPT_TYPES Else Local $aTypes = StringSplit($sAcceptTypes, ',', 2) Local $tAcceptTypes = DllStructCreate('ptr[' & UBound($aTypes) + 1 & ']') Local $tType[UBound($aTypes)] For $i = 0 To UBound($aTypes) - 1 $tType[$i] = DllStructCreate('wchar[' & StringLen($aTypes[$i]) + 1 & ']') DllStructSetData($tType[$i], 1, $aTypes[$i]) DllStructSetData($tAcceptTypes, 1, DllStructGetPtr($tType[$i]), $i + 1) Next $pAcceptTypes = DllStructGetPtr($tAcceptTypes) EndIf Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'handle', 'WinHttpOpenRequest', _ 'handle', $hConnect, _ 'wstr', StringUpper($sVerb), _ 'wstr', $sObjectName, _ 'wstr', StringUpper($sVersion), _ 'wstr', $sReferrer, _ 'ptr', $pAcceptTypes, _ 'dword', $iFlags) If @error Or Not $aCall[0] Then Return SetError(1, 0, 0) Return $aCall[0] EndFunc ;==> _WinHttpOpenRequest () Func _WinHttpQueryDataAvailable($hRequest) Local $sReadType = 'dword*' If BitAND(_WinHttpQueryOption(_WinHttpQueryOption(_WinHttpQueryOption($hRequest, $WINHTTP_OPTION_PARENT_HANDLE), $WINHTTP_OPTION_PARENT_HANDLE), $WINHTTP_OPTION_CONTEXT_VALUE), $WINHTTP_FLAG_ASYNC) Then $sReadType = 'ptr' Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpQueryDataAvailable', 'handle', $hRequest, $sReadType, 0) If @error Then Return SetError(1, 0, 0) Return SetExtended($aCall[2], $aCall[0]) EndFunc Func _WinHttpQueryHeaders($hRequest, $iInfoLevel = Default, $sName = Default, $iIndex = Default) _WinHttpDefault($iInfoLevel, $WINHTTP_QUERY_RAW_HEADERS_CRLF) _WinHttpDefault($sName, $WINHTTP_HEADER_NAME_BY_INDEX) _WinHttpDefault($iIndex, $WINHTTP_NO_HEADER_INDEX) Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpQueryHeaders', _ 'handle', $hRequest, _ 'dword', $iInfoLevel, _ 'wstr', $sName, _ 'wstr', '', _ 'dword*', 65536, _ 'dword*', $iIndex) If @error Or Not $aCall[0] Then Return SetError(1, 0, '') Return SetExtended($aCall[6], $aCall[4]) EndFunc ;==> _WinHttpQueryHeaders () Func _WinHttpQueryOption($hInternet, $iOption) Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpQueryOption', _ 'handle', $hInternet, _ 'dword', $iOption, _ 'ptr', 0, _ 'dword*', 0) If @error Or $aCall[0] Then Return SetError(1, 0, '') Local $iSize = $aCall[4] Local $tBuffer Switch $iOption Case $WINHTTP_OPTION_CONNECTION_INFO, $WINHTTP_OPTION_PASSWORD, $WINHTTP_OPTION_PROXY_PASSWORD, $WINHTTP_OPTION_PROXY_USERNAME, $WINHTTP_OPTION_URL, $WINHTTP_OPTION_USERNAME, $WINHTTP_OPTION_USER_AGENT, _ $WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT, $WINHTTP_OPTION_PASSPORT_COBRANDING_URL $tBuffer = DllStructCreate('wchar[' & $iSize + 1 & ']') Case $WINHTTP_OPTION_PARENT_HANDLE, $WINHTTP_OPTION_CALLBACK $tBuffer = DllStructCreate('ptr') Case $WINHTTP_OPTION_CONNECT_TIMEOUT, $WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH, $WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW, $WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM, _ $WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH, $WINHTTP_OPTION_CONNECT_RETRIES, $WINHTTP_OPTION_EXTENDED_ERROR, $WINHTTP_OPTION_HANDLE_TYPE, $WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER, _ $WINHTTP_OPTION_MAX_CONNS_PER_SERVER, $WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS, $WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT, $WINHTTP_OPTION_RECEIVE_TIMEOUT, _ $WINHTTP_OPTION_RESOLVE_TIMEOUT, $WINHTTP_OPTION_SECURITY_FLAGS, $WINHTTP_OPTION_SECURITY_KEY_BITNESS, $WINHTTP_OPTION_SEND_TIMEOUT $tBuffer = DllStructCreate('int') Case $WINHTTP_OPTION_CONTEXT_VALUE $tBuffer = DllStructCreate('dword_ptr') Case Else $tBuffer = DllStructCreate('byte[' & $iSize & ']') EndSwitch $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpQueryOption', _ 'handle', $hInternet, _ 'dword', $iOption, _ 'struct*', $tBuffer, _ 'dword*', $iSize) If @error Or Not $aCall[0] Then Return SetError(2, 0, '') Return DllStructGetData($tBuffer, 1) EndFunc ;==> _WinHttpQueryOption () Func _WinHttpReadData($hRequest, $iMode = Default, $iNumberOfBytesToRead = Default, $pBuffer = Default) _WinHttpDefault($iMode, 0) _WinHttpDefault($iNumberOfBytesToRead, 8192) Local $tBuffer Switch $iMode Case 1, 2 If $pBuffer And $pBuffer <> Default Then $tBuffer = DllStructCreate('byte[' & $iNumberOfBytesToRead & ']', $pBuffer) Else $tBuffer = DllStructCreate('byte[' & $iNumberOfBytesToRead & ']') EndIf Case Else $iMode = 0 If $pBuffer And $pBuffer <> Default Then $tBuffer = DllStructCreate('char[' & $iNumberOfBytesToRead & ']', $pBuffer) Else $tBuffer = DllStructCreate('char[' & $iNumberOfBytesToRead & ']') EndIf EndSwitch Local $sReadType = 'dword*' If BitAND(_WinHttpQueryOption(_WinHttpQueryOption(_WinHttpQueryOption($hRequest, $WINHTTP_OPTION_PARENT_HANDLE), $WINHTTP_OPTION_PARENT_HANDLE), $WINHTTP_OPTION_CONTEXT_VALUE), $WINHTTP_FLAG_ASYNC) Then $sReadType = 'ptr' Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpReadData', _ 'handle', $hRequest, _ 'struct*', $tBuffer, _ 'dword', $iNumberOfBytesToRead, _ $sReadType, 0) If @error Or Not $aCall[0] Then Return SetError(1, 0, '') If Not $aCall[4] Then Return SetError(-1, 0, '') If $aCall[4] < $iNumberOfBytesToRead Then Switch $iMode Case 0 Return SetExtended($aCall[4], StringLeft(DllStructGetData($tBuffer, 1), $aCall[4])) Case 1 Return SetExtended($aCall[4], BinaryToString(BinaryMid(DllStructGetData($tBuffer, 1), 1, $aCall[4]), 4)) Case 2 Return SetExtended($aCall[4], BinaryMid(DllStructGetData($tBuffer, 1), 1, $aCall[4])) EndSwitch Else Switch $iMode Case 0, 2 Return SetExtended($aCall[4], DllStructGetData($tBuffer, 1)) Case 1 Return SetExtended($aCall[4], BinaryToString(DllStructGetData($tBuffer, 1), 4)) EndSwitch EndIf EndFunc ;==> _WinHttpReadData () Func _WinHttpReceiveResponse($hRequest) Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpReceiveResponse', 'handle', $hRequest, 'ptr', 0) If @error Or Not $aCall[0] Then Return SetError(1, 0, 0) Return 1 EndFunc ;==> _WinHttpReceiveResponse () Func _WinHttpSendRequest($hRequest, $sHeaders = Default, $sOptional = Default, $iTotalLength = Default, $iContext = Default) _WinHttpDefault($sHeaders, $WINHTTP_NO_ADDITIONAL_HEADERS) _WinHttpDefault($sOptional, $WINHTTP_NO_REQUEST_DATA) _WinHttpDefault($iTotalLength, 0) _WinHttpDefault($iContext, 0) Local $pOptional = 0, $iOptionalLength = 0 If @NumParams > 2 Then Local $tOptional $iOptionalLength = BinaryLen($sOptional) $tOptional = DllStructCreate('byte[' & $iOptionalLength & ']') If $iOptionalLength Then $pOptional = DllStructGetPtr($tOptional) DllStructSetData($tOptional, 1, $sOptional) EndIf If Not $iTotalLength Or $iTotalLength < $iOptionalLength Then $iTotalLength += $iOptionalLength Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpSendRequest', _ 'handle', $hRequest, _ 'wstr', $sHeaders, _ 'dword', 0, _ 'ptr', $pOptional, _ 'dword', $iOptionalLength, _ 'dword', $iTotalLength, _ 'dword_ptr', $iContext) If @error Or Not $aCall[0] Then Return SetError(1, 0, 0) Return 1 EndFunc ;==> _WinHttpSendRequest () Func _WinHttpSetOption($hInternet, $iOption, $vSetting, $iSize = Default) If $iSize = Default Then $iSize = -1 If IsBinary($vSetting) Then $iSize = DllStructCreate('byte[' & BinaryLen($vSetting) & ']') DllStructSetData($iSize, 1, $vSetting) $vSetting = $iSize $iSize = DllStructGetSize($vSetting) EndIf Local $sType Switch $iOption Case $WINHTTP_OPTION_AUTOLOGON_POLICY, $WINHTTP_OPTION_CODEPAGE, $WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH, $WINHTTP_OPTION_CONNECT_RETRIES, _ $WINHTTP_OPTION_CONNECT_TIMEOUT, $WINHTTP_OPTION_DISABLE_FEATURE, $WINHTTP_OPTION_ENABLE_FEATURE, $WINHTTP_OPTION_ENABLETRACING, _ $WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER, $WINHTTP_OPTION_MAX_CONNS_PER_SERVER, $WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS, _ $WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE, $WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE, $WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE, _ $WINHTTP_OPTION_READ_BUFFER_SIZE, $WINHTTP_OPTION_RECEIVE_TIMEOUT, _ $WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT, $WINHTTP_OPTION_REDIRECT_POLICY, $WINHTTP_OPTION_REJECT_USERPWD_IN_URL, _ $WINHTTP_OPTION_REQUEST_PRIORITY, $WINHTTP_OPTION_RESOLVE_TIMEOUT, $WINHTTP_OPTION_SECURE_PROTOCOLS, $WINHTTP_OPTION_SECURITY_FLAGS, _ $WINHTTP_OPTION_SECURITY_KEY_BITNESS, $WINHTTP_OPTION_SEND_TIMEOUT, $WINHTTP_OPTION_SPN, $WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS, _ $WINHTTP_OPTION_WORKER_THREAD_COUNT, $WINHTTP_OPTION_WRITE_BUFFER_SIZE $sType = 'dword*' $iSize = 4 Case $WINHTTP_OPTION_CALLBACK, $WINHTTP_OPTION_PASSPORT_SIGN_OUT $sType = 'ptr*' $iSize = 4 If @AutoItX64 Then $iSize = 8 If Not IsPtr($vSetting) Then Return SetError(3, 0, 0) Case $WINHTTP_OPTION_CONTEXT_VALUE $sType = 'dword_ptr*' $iSize = 4 If @AutoItX64 Then $iSize = 8 Case $WINHTTP_OPTION_PASSWORD, $WINHTTP_OPTION_PROXY_PASSWORD, $WINHTTP_OPTION_PROXY_USERNAME, $WINHTTP_OPTION_USER_AGENT, $WINHTTP_OPTION_USERNAME $sType = 'wstr' If (IsDllStruct($vSetting) Or IsPtr($vSetting)) Then Return SetError(3, 0, 0) If $iSize < 1 Then $iSize = StringLen($vSetting) Case $WINHTTP_OPTION_CLIENT_CERT_CONTEXT, $WINHTTP_OPTION_GLOBAL_PROXY_CREDS, $WINHTTP_OPTION_GLOBAL_SERVER_CREDS, $WINHTTP_OPTION_HTTP_VERSION, _ $WINHTTP_OPTION_PROXY $sType = 'ptr' If Not (IsDllStruct($vSetting) Or IsPtr($vSetting)) Then Return SetError(3, 0, 0) Case Else Return SetError(1, 0, 0) EndSwitch If $iSize < 1 Then If IsDllStruct($vSetting) Then $iSize = DllStructGetSize($vSetting) Else Return SetError(2, 0, 0) EndIf EndIf Local $aCall If IsDllStruct($vSetting) Then $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpSetOption', 'handle', $hInternet, 'dword', $iOption, $sType, DllStructGetPtr($vSetting), 'dword', $iSize) Else $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpSetOption', 'handle', $hInternet, 'dword', $iOption, $sType, $vSetting, 'dword', $iSize) EndIf If @error Or Not $aCall[0] Then Return SetError(4, 0, 0) Return 1 EndFunc ;==> _WinHttpSetOption () Func _WinHttpSetTimeouts($hInternet, $iResolveTimeout = Default, $iConnectTimeout = Default, $iSendTimeout = Default, $iReceiveTimeout = Default) _WinHttpDefault($iResolveTimeout, 0) _WinHttpDefault($iConnectTimeout, 60000) _WinHttpDefault($iSendTimeout, 30000) _WinHttpDefault($iReceiveTimeout, 30000) Local $aCall = DllCall($hWINHTTPDLL__WINHTTP, 'bool', 'WinHttpSetTimeouts', _ 'handle', $hInternet, _ 'int', $iResolveTimeout, _ 'int', $iConnectTimeout, _ 'int', $iSendTimeout, _ 'int', $iReceiveTimeout) If @error Or Not $aCall[0] Then Return SetError(1, 0, 0) Return 1 EndFunc ;==> _WinHttpSetTimeouts () Func About2Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'qiR99BsBNFL3Uua8zmleZ0DyJlRON/OhTurQYUEpxFzNTanWfNzVY8M8noZzdSs5OsUnJxjkHGD9gbdtWEjsuUL+bizKD5YEmEytz1k/GKFmW58MfJ/+XYhJghxoXnMVLkW7np8bHptEH5jGezOWk5Q0NOWy9qcUH1iQau7Lh8qOz6teXFAiPiPOZsl09ZXntehydc73IlNdVBCgoRrBH1tSPDFiH2C/Z2biu9i4QEDqTfkZKFD+mYjxvJa6KxP4bJ3KCN8p4loiDuEau+PmlYwQtfz6lKawTkhLYjKelotmCiNcabN/Qv37RJtnQQilbsufnIHLux0eEsWEmzsNhm2iM56RRQ9OwduGJ1/nCNxOC8pSdAGPWvaMw4yNoGkdaeVkAx3pGBCbezC7yTWmbhecwrbDfb9sK8SCXcgqmuSeEumzVGJ56/LmZGfYTMwA' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> About2Ico () Func Add2Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'vLkUFZnyPiOO0ekQiHIzOkbAmhbr/mz3csLojHoJWSRwXrh3xf1twLU3Kha/HEujW8zhNmKQ3gtIze4+NDrys2J0LO8ohv+sqpkr7ItFEmN4CQKKghjYGdP8fvzx/RRPT8epTk/93lJZaTL/MTDnp0r/8iLuWIcZQlOGKFX4Dgu3RHuWo4eqHN61SQBxcOPH37NJ03vD/G8qv0JFilfH3IFI5FsxwIwzfg9S+89pjBMQjsyyp/LsAf813+P3MggVzSX3WV5D5t90Ogo84LlPLmrMEulLMdaM0NIcGkmsNznoCX5emvCzdtLd7bSmpB26rHqcyXE5diSr8S88AmDIWiRgIQmQu2JC5vC5HJwY+/AMrbcrJ8mceZ+UgQoHIHW52gIkMODKg8S/N9m42aEXkFXEqzougLpqOES4tdKJhyBI4bpHYn3ePuU8Wu7q3cbX1IOcL5UJLyplC/3pJSK4gdGSdxX2Mrym+/GItwELwWO+wv/V3aOxi+9bhFQVVGxIjq8iVGb33FT7zVAJrU1CCbgeNkgAl3eREn7NmsWp20/4XbVfOlNRhkjunRmgwiXGb0vqm/gcnljmvoplecKRgdlqpspCVuF6ZAwnsqf/MJnP+PO6hxvjSK1zQ+UCf8ZH/VuUwbNhUvIxPzvSTAvpRS9A+WhiH0oGMDUUVnyYkA6a/jN1Csn/qh3urNL9XdPAnyq4nDP6BNuiJstUmw7j26OUea+JyxcJ02RQQc7xhwbbe2QeHuKALLILwLx6gT3AmvwQsXov/nAipEprK2Wwffn77BMlots3hIkXHKq3kpQ69mQYAA==' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Add2Ico () Func Banner5Bmp ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Banner5Bmp () Func Blockloadinggif ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '0BlCxyaxifDWOYEGsEIf5sC/ZCcsI/ZRhaEZcHqeGq0v1jf5i4mgApEPJn0Ty9aNEqqO6pnaOhJfq7znFQoJ5xcFNjcx0kUfIOv4Pyubzb+qBD5etOLBuU+zgjJwYKSI9QrU9TYU1pauc7shoGJNvhBqm6IE3W3U8xngME9Frmik0FqiTRi93PUY8rEa7RknyjYcXeEP+GP96R5ViY0jhqLEgEtK0C25fak5r6R+pOb/S19JW3ZRhJxQ3L394EIrKeTr1DPJAYXEMDx5Ifu+9rxKMDTUgn3uStMw9tH9ADdN13Ju5M5/rXhqrpihgBbITtRvMBPK7/Mstyw+ngBSBk+5PVxRAPOVKTPC52oQhFbucOq6D6OaL+dyOxKgnRm+lgKElb4mon3ZEvTbnucYHI3PLixNH6gShN4ojs4QR7GiJnSHTuJhu7jTtR0LFmhee9k0gpnVFn9n4CXBzzD/5vN2bV8eiFNyvxxUFf7IeNCa+tcYr9RxzDzgrqL/uXiFoAf06XbD8JuiuWxmLyVhFW4791M7LZf40E5Nfif8TuJ8o+hHCZM3KPW22sMvzB6x8QStjY4ySYBsNsU30+M9n6vF4mFqoLkRjfIIPpd+9V7znmgHojxOVlQMOia3BXlLcnwK1Wcn1EjgPOdTE8cYS5ZOylstXwgJMmwtixRy7Sp8lijqzvQhWt0OEY5bsdieAPf64vWl3+sumab+y0TDNQyvNw5sEOVGs8fL1tOYVNpXNHLRf1jPnvevXll3ey+boaYsqRWOGlvJa+7dy+L7uz/CN3b72L1R/FsqDv3yL0hUF42AYizC7uYjKRKPoMQ2ZnQA7aaNu1jxiEXVGenBSEXU/RTgiQtCwUAycdwXQXwJsCGVcfC1/my/sVGFOjv7gkHBosQN+yq4kKQXKgkFtp1LMxLlFIs6lsH+WblCdl9ZBJJU8ex4ZAjSffFnWF8eDQwuu1T86T1m55ewY8cYuAQjDnXirdE//eGtbE5VvwBoqNFKslPA/Blm' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Blockloadinggif () Func Button1Jpg ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Button1Jpg () Func Button2Jpg ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Button2Jpg () Func Button3Jpg ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Button3Jpg () Func Change5Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = 'XQAAAAR2NgAAqQAAYAJ/8+KfDWPAc0CNXon7QpkwrfETolHxCP5JLJiYBk8+mi0fhcsC54k5u7/djdgacJ3jppg9E8kck28H14CLE9JBcIIitKizjhL1JplXwUufpE4UBBtevfKq5uVBPZ7G8DOvrrUt7S1qMAvW7PpEQR2GnC6hf+vZjjqHl6dzWrk15Ns0pQSZ0LnKhtG87RvGQ1j93zY7VgJc8KFZKmYo6HjjFE1FJrQz/5iI5/3GmX42Tk3X+9OBBh/t9jphaBIJPYXnx7oVJssf0QAQiTzXTv4x1PXOyFFMi1hvPiEX4jI2C/ex1v8yoVJgMpxlHOBvB+EyfcPE/Y1xTavo4exP07NSJO4YyjBNRWH2m2wUJlS+jo6wNRDBDV9pFKTqDhZkKakyF4lcTYI1ulIDSxQP2HpSj1Oi8UqGSnhHSU+9vnHZbX/UglaWW6HrYsr02CfnJTZ6+zgFUidwfejFl+W4NZr/eUla34SBp/aVWpdHHCyhO5Sc2SXgv+kN5ChotSkUj5oXFiQcOIjuHPZljOLjD2DFONd9Zeha3q7nfh9649fEgLqHkgayN+vPZxMXdw3Y9Vw8Lklh/oqmsyvSz+QbiaVieh1KpLL6ZUQd1t8crVSdH/siGeunajkTJNCB3oGwmg3hVGINhe9UDlW4bR4QDEY+rlInYmysJxzO5e/BNpj7tahwhGvz75TQ59YdMwH8pfI+cOdymuA+g4FNv2kx6zFBKLHclaKOsW9CC547guielToSaAVM+ULMANdjiHrputxc8wXbTdCWzDdzBZQHUZBVASCKKMy9LGrZm0reP3oJaiKAvkEHxbFOAd39y6Mjz9vSWUrFo9nbYhH4zLxHkKa+3fmWaMxo32ANF6wBoAfy4cOphISEknUHaTt2gcuOS8F7j5obkJJXCxUeyUavdC8XWivbxeJrgzIIr6m3n4XThT7urT4sM+uCrzKzwSglyLkjJiIKRf74Jcug7uCZlt51AS3x4vuzFjoswnpfMTtJcHM+Dl1rkPfo86PR4JWdSZjfjW3pchTEyv7yY6sExeHPz28vdjQihf3axk46GkO2WxN5mFjmaktNKNA2Ew4b31ryRT3HwHyTfcjV3mXC82JEVE5bTLdcN6RjS/tKxlQ2QgMGXzygiU6ifMDMYFFhOcTxlywR0ATP3bdU7VTMIgRtEgjSlQKK9UNogK2TP/R3K13yo9M4dBzj8RtwhR/Zdufi1JzV45l3oc8/chSZ4XRXB3rBoRrAdwtpK0ByeBSHwtl6yEWA8IDkolwcFsQMwl0heyBk3aYE2PmMmiS5XoFd55fymnU4SC/CUDT4xy8ICAakTrIjJ97de7sOiE7GrA9W9/6G2AjjmnQWGo4GsW+oQyUuoTG7ZeHEjh6CvYJqgA++j3OT8qMOoUt+Nb5q7nftZZ94N1VDubDCDuQrW3nQUihsigHTDaffQBYUnyZx5N7M3uzt9PlTWiKop0W0GeW7JDGmD7dpw8SCessyKVs+9cms0YY5A6BRW/GaY0IIlweafcNxXJkVXeDSOYtaYuyPUYUyU6xBTZDiresN2VoIdqHDh9OvSpgpphXaqSg4Mdh/6ym60gCAUf04ykqxftN9fXYZBvXiI/ndpdyP+8n6eBjFZL+QjM/2OnW+qCUG7YOwBbZomqrQEj1U2Zub++Coi8Q/X8f2fEXTs2xsDoxyYdX41xZvKXn72TFbGqToRhpjTiriECrV1UcDleSVJyX2sq9vNmBn7hYW50EqEmc2yQPJgAOlDKamonWS01Tu+8WSgeL/MKxxfOMR2tdWz/0V4moQJI6oj7HhQ3LZGYTeOTd9tQENy8ZtKAQxrC87DOqYutD5k559jxwcNNWBf/UH4UsKYxJlbT1V6arhGYcLw+mxphT8QnZ2ndaSE5PGkPQUtjkHrM0B+Iefnmuapso3H+HnV0w4Lhwj1nDWb4rOW8kzayS7lUIM6vkKAbGP14PUY6u89aQKv4be5rqmthSlPedZNJIv6iNuihpKA4Yd4WhcV7sKCrHy8zKg/edQykXpvjkfMQHfxN7ONANNKAE1uBNhhZmCLpdgSorWKpl6fGuHEXAVQLcOliZJeSFVYBThyZxwmqBIdD/LrKgPB7tZ30rzfeVzH8CcEYeKrRB1GesOyO+MrKpnyZ4uKoaPPumrmPKBBfXZ4LBVtNXVXsRhYnWb2s9b4qBv6wNq/HFm3mE7X4TK5upNKQQ7kMZBC5G80YglZkkcPi/JF0V/2vswEBLTaH6oYorkYljyrpZFM+lyW76ugVxx82cEXUaIGQHEWpGNLfti+cjy8mUnwyAwJVOsL3hmwKCtcIQExlDm36aRKTdEoSjxYI6Ws1Q2+U2unQjc5p5CYeDXx9pGoJtcwjmAaq5PbeNoKhbIjguknKmU9gM80q8YjxSp/zKQYMOG+hXsZoZR2N8HNv5ux14RR8mgVul3zdMobCU9UTsq/xEi06sjyrhPjQTOPgvdpMO8s+4BXG/LZ7V9RmOZ4obGrEITEGyxkARAPSQfoXKkGVo0SxtLOoz0v62WUzpwpDgqpeUAzY8iZLiUr/oo1f9PLkgCYs8oP10HXpaCgV4fH2zvh4ArNMUgM8JoXDBk5RYqcz8OGJ/03ByLKjGOGA0QuVPr2WCO/c2hMqNUW3l4yuOQxt1gDCmP+p1NT1aktHntmxXyUg9hzCnP9UF+TwHbrVNZs99rL6U4Q95erqu+hZz+gevXG5vKXRNvQEG4oyhjxuK2xY9Y4xCfVTOol6h1btCytkIB/jMoBntRQGtvBOoe4THKVfVKLEZJnr/ucOqWzOGGku73ZpDZylEol6w8Ny5ZUFQvm3+NBB8lK9vnEXanKhQHCySl50dqUAWi+lkgLvOYxD9w8YNIvCnkrZs6u5MYT9o8BJaZ5CBJ4AwAqtJsr06sXF6WpDLc6exy05SEA9RbUVbx4BoqPKmlWvBM3xBNdOlUSor0o7A1oiCLx1YMS7ATIVrDwV/y2TWC6NVX+dkvaYT5DV4HnPQjn4jiDKCoDkq6839qRzHFrYMDiUNJF/ZlV5U4EuhQAOQEx1R1BjPzWCGUpypBtIkrudRGwq6cyYmi05WgZigNhSZNhoRy0oUEoBvgtDBYQAe2IkC4tSZBjFQzuNgXn3xDQam4i1E8ALJ/Jak7m7970qQ7Q7yH0+4+mNJ/iv3mnh/hOELHcPtfQeUR2zyztKs1GxtegIdibYaIaVXwAzoBkfFcwPSGJcFQvXm/ZR3Ret+f7fkcZHxUW1QV93/c542b/2q8h9Bn2NU40XkAxMj3aVjooc4rS5+LWNn8mjlxMes67M47CzVncu4f3p2Ew2U2rsx7/fcOvit9R7BfwHbTn69JEerFouIN2+fQtHX5aKO79nRfIf/J6YbkWgSADRKzxu8vxdc6EVgD+5lhhTY15d6uZubhrRnn0kkkpIh9jJlhbunpLlXR/Zz41tjTs2Mg8+G7892OLgfX2mCUKbgq+2Ge4bl7sbL2lREIyzsnxc3E+RK3cjpK/C3cHKevcewuGsoFztZOFswA9DyIgfRwItQlqwfu+e6H94ExGWKhRRZIp3LwwQOO5qJ7ISc2/cpDZVIP7MXj8omU3liB94HgcVtd43Oak+Estd+vCDa2i3l8z9y1pV6KT7O3lwgd/ojSZEHWqzNQWSLFZWIXo6hQNVMNO9f9HtE5NTkznqHshT44BJ9LWSKLtCbIo4iZh/mBoJPi1RkVHLyq1mQ8LShVvF7F7JHm/Vhr5jcz0h04vbKsPj809whkCJ4dvpViYS2LwXfsV7Nvj4quz+iYNe/1qe7sQZ3RvWCVmR+x5WAF/JJjgL4V5oUr8oSwUfdR4RLi/tP6oElq+ku892UWVTT5iBwpbsgle2xgl0BIC1a/q8zApvttPMwBLS7ctBZQZ5m/L7PTGzTtUjkhbV1opt3tOTAulJmyCXqHqyfMJlI2yWYfEEdM+0L3twzN4i8Evexx62+ZPOLSDWU+Y9Fl' $sFileBin &= 'yAnRcu3PSPrU7WLnF5+TdIdNMamlQDZmnsrJvjNJW21D9jezy8+sW52SCv8hVLeVw95IA95OkiTaOpdElzlHsqWXp+W8wzHBYBGltTYZA563EUoR42zGr9Tt9ruL2KwL/rVlZKAmen5G3ASEowfTRL3q2Tw4apN3JujBf0P7gRlH+gPAgWK1jw9a3ajUdrRlFKwpE4155bqwuA+k1wJhHr6rrvGerRLn7Awr5IaYHXvxX69vk/H7DTv4SZOFrbbzoRKXavsKuDvPortTeoz6Sewg9OvRoHEZNIxkaKC7zpSKXOT+NVpfPsG8z4uAZkkgrX+EWK8UUvthNPOMiZK8DENfPNkoEzUzqGUbHK2iLG2vBaZhLpjDPvvk2BoKzT8JCRmhd3kAIMOv7fmWRmjG996NIlNS0Wt760Ke+PzIX5l65GL62QX8H7wJZwAYWhTAPmmZD1n+GcUOGgn1M6eyzhXxkd7hjmEcp14TcVUU/0PUAybPixf1RN8Ww6va9yt3ieppjnMntCzW7Gb2zUr1P294Ay/+uaL7+nb8ACMAHKiy5dTNxObrPsRXB616Yb6np/qsY3oF3EQ7xi9ZKTXdsz5JQERyHBf474/LdOk9uy0k65ZkIJrnJRtVzW5GCLAI6fLB0M6oyma+gqBFl2sOxXGu+5PGKXyUSeaLP192T+waUYQ/o8kfYxZF0ETb0yGMkTkHLRL0/NccqLJKHXkWLTpr19N66Cnkk9M3Qq4vNVFCLkF/4suNwtodiqoIEgKJAEW5N0GkxlLMncjt1kA+3pFQdWAzaQaPSVFMVUlHjR34JJlyxVSss+1a3a92GRHn6EHIWl+AlBPuWLtGFGuDZKaWV5Pu+VKVXByjGSwc6+p0VxXkT84T5TvwqPiJxIYC3rjnWUevHffZsh5d6/fE3liAelOgrEY3b8ShBWwWrqzZwc08gR2N6Jz8Z/1Zcrzg7YIR9gfKWEd8zD6VcJ5YQ9GuHMyyNHZspePtYroQGaQIrYv9M5Bnu8nrY5CU3PKbYcOSa5KR8QsSqW9eBTScIeN003WiJLBmK1yBpDPkIozTpEDkCxS948STSh3EiPbkzsde1ecaJPG5wo/kGI1DYjiarSLnBzhRWqQuzv5KWJ8j2S5MSrkoQDIl9iUqsbFnetydd9o9mPFUpXM5rHlUuAQTAm362WjtYaWcdaMWPQIBC6WDICEzuErzkW63gBQmlFgvaGKx2q23C8jMJ8PFVRDGHK4h0MsPm/1M29egfqjR4xfdbj2xY8yQcDW5QYB5pEWgT+Vz6E0/XYo5ASLLHGcx6tIJjVUxziNNC7jK2lO4izTDha5HhNEAPFIiqosTURAiUojDlPb/R9iLEgFu93AnDK/Sp5Ek9oijLsKl1RZTLVcKFVh8OO2+O+AcBqdj9O/NRjouldwQEG9krq+AS0Xwt+vB6lX/tg0YT1e4Fk5D9k9XoRmR/jsaWwXWi09XBjHt513JAkTSgPhozQeYcFiKrE2mnixlvGjmrF+WWVj8WDnV3cqA5bk0yL/MZoenHvCPCuE0fO69ioteVTJPT4RjbA/rPZNXRqJMqkPcOVwwgSBWCkhZiv7bGiHRec0ehHFYYnYCEwBrExgEL/+etK4EIRtJEqKhMsyzo1BjSlIqF2TfOnJNa6K3k9texWuEIgr2Le+81zUrNTJxOl6SA4bJlDhCPU3UwICSecwGDnbC3vp0jaFxWxZTXD3Sgu08DVXd4/rDsvctRk2tomuHB3yITGgoPLPmI3JrHS+TZexmIg4pjMHx0DgAknEnUIwvkVZO/lMeMWcORfdTAz2GAoT9ABKhIgbr/Htlk3c6JH0QHHC/WHyVoRMla2wycI9bqs50t9B2w/U3daoTVFeGkPr0aiGl7c/tLv9aO8pZib0Z2xJ5FK+sKT7pK2gVMaKXVBOTnkTkmxHrrzoA' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Change5Ico () Func Data_Animals ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'K0+eOfG0tsSN4LyJeyXptY82w6iGqcwOR7XxPcYld+RkehzPFbXhqQuQ3ueZ9AaQOts73qhKcbgnmJK+cXc/xkQJ8LlRmnlybbx2y1TouzEnmcKb2SrvL8anoJZeZJGa4yXaU6OxZZqrBIqlu90l+uPP4HzgZlB1P9HJ+EJdZxxG4rGy3QiGPKuBZIIY0cLPzPOwrvxefJSkF3GKK2+ZUoAOTuBwhR2sW3evfl7VfsjnWvRxEP6ASlpsR0ikqGlvABu8YbXAvcVnXRW+30Bh8EEikTJhuX0MxTGrSn6JPo2IL1V6Vm0ZrGTPpTjEmBikm/hnZIPMl9+1ze9LX6QsGWyLZLBXE+pkYjSuL15Wfjt97hambs60y/rEv2GQNU6b0X768HHK/n1CbP+ue0Aw6rGcrpQTmOUrXu3G4tX7btmrmdS2nJildHQDW/OPNln5wwQTmCfb3OkN+tNOeevPKDKN6BZ0PH5G/rBW4iCWOjmxrYzpIirIzzjxOM+B/EHfMg/rXwRbp8ir2vF5gD+mhgkqc++TA6nb1p7nbjnhU0XJElzquLGNSc+CEKfwUfGw0fCXiGlVuOxcqWYauH9ivXrDkeOKxKjciMSxMUUU7UphYvwzZL1iEW6L9E63YCT2yyu2IbqZbM4Z5TyKmtjiGRedPPVvTnoW5av+nCK83AOByKdzWD4Ao8kHAgYz0JQJ5Uvxe/9JGuX03ygD05eyllGvxGaRO1S4LVpexlgFGrlW8kIz+wi7/CCoYXGbJmJO1QDtlrz9cPbOSUDyGrnlHyPwMelXyuvwTc1JutSbepfpBd1lZJ7TPT1YtPBRARp0VQDt5sKmZveAmMh3jMsHjU7KttZpXlpmLuHGt9DtxrSLlYDaDoUBfxhPIr7tM2ukj6A93t72KHwpyGMGGexc+pnbI4AMqQCyoMa1KzuX3aQIQ8J81mj6ZrXzTXcYVK9agKoe7qzVWIQimWNNhd17Hv+OVyHTzpkT090HSRR9jkvlzP32A1kHhmW9eI4ZfdS1QzcO9vjGY7KbitKjI4Wd5KFJd0UVl8IJs6GAigVrkhu0Dhk0ysOrkS3yLo7Dvz4tUW/kukIWgFkoQPaoZG3T3TkMaZ2z5HEAy1Iwf3W0JJQhWQ7ebsSAiFlnk9bIlAtRhaw+n1AZFz5Lz29mwOeZk93HQ7tGVRHezkhuAA==' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Animals () Func Data_Cars ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '9uv5eaMJxEz1iFJXF83ZcW6henc1EGWfxUk1/AIiBrH6nuwQYAvZNnge1EflVmkOHDgZOT5CQ27k6C8xtVTCTUC7uLWpXpdqJqyp7R8s4brBDZ8eOLn+ZQ3AKgLDnc6SKo/wKDx+U1lJTaSBdmgHUq9ZnhODQ4i21XSyB2Zr+OCsRJDa8Z+f9jxwiDOSifv2Ssj3h68TSt7CfcCTXNYjAcpsbLA11e7dgYyWIovLyNj+I19r52n80kedND5xANWKWrmzbtYRaDuGkQ/ya++sixcjgsn6DXytFJtG6B/wXs0L3z/ELJJ18j7xdNs+qXffgYTlwpJGIQPOk38lFEGXHpGnaZMUpMzGWS6Zn39YdB3gTAKHUCRZFoE5LWXRXEjeWBHZiaJFeMstex23HIv6vSKPMzYd/zV7Du0q3TU09LCiU+RR10CDvoovJxqS94hnqKZTcaKxA7G0xJx0agX6Dl9uQXQlWz+yg/wfa06/Jop+TBQqqeLqYj7XXU5MmPXMmc7Ufwqt9ZZwzsX2YCt8OnuaG2y7ttyjG6H9TfGXSCTcTyOTCkUWzXv7AbtdcdjHH6Q2g9reGU3c1gUNZtlVSPJW1DCZZCZD9IyJxHlF+0GNc1Qd5yRdtxI9IKsiWLy9ceY/4+mXpP3b8Kgnbi4Bh1SFjZO2PD9sgy4t3/crlDhU5mY/bKpU901Vf2RixIRA9Ch0vBPXGhzs4ALlYDnSZoCAExcwQHlBiwUfNEI5EjaKjZYW2Ap7Xnk62TN0xKAHvJVuupUOkgfwYdPiJ1ICiYhpf50M6BOjRClLHUkd6xeJABLJJI2SdzWoCqe8I5AeIF7+rTLmhbL6nRydj+YMENGQDJXtvnLNoBrfrNAVRG71xGVBP2rZSzCYDMbiB3VUs3vP7qbPw0+MXpyZYhP7cAB65DWwXeSJ+DdyJQx9kbJ88USGRdaAuHfjOsKHD7gbvwcTMKWOuYwf90MggEQlU3E6mDlXQgyygjh8x+wcUJBogOXTi8rl47btSEJG5DVFyiarhywGHSLa0cmb8uFuCJneuqvcKLsjej4tNgQUBZ1cys/oaebdtCkTVx0Lq0Bun0I0Gpm/u2aZq5sq1YmunmcUKbMr35BLZey6pEHXaoIcpjOxVt/1MMW55SkIKuBCCl8nH+oFpzSMU36lm/QY5osXfziz1KM2hgOO1NfAhJdKBYtKQWmVS+gAKpl9QuMx9JVmJvx/dNTcw+jp75mw1KYw70tUOFcm6akxE+nMw5RV0LiQTxy0QYP/cnA7dveyx4DRagSpjeyXpZ596F2FX3ehG5V5LGt2YlrhK49ToQp1FbhXCJ7SeDoXiOu65Wc6AX/24m6y0+QlHnHs8GfkW2PmhQX2aiKBC0AJkTgpgXOnUNfFKnLy8V90jn6RBJZTycr/rw4SJvcT1EAzT5Pxn59SFAzEz5oc1/2waASpeD4o1keTOYnyp0XDAKpgMoRkYAtXj+VgmQLk0sl/ByogQMhYt/sJkIRERQuPlUgVG37dJ4z21fkRxyQcdXZIqCg1yKWWUH3YxLvdYp6/6sQ0qwAa+LZ+KjGkYvA5SFilLmD0YzrC1vKK1kGu+W7rQDhnvSplxPK6XivdI1BDhT2gFlELNesNljeVazyO05DHiZvCT13ZvoBiQhh++7AvKiD9sY5nH2WvoQYn5M/VDLsmGioG/8V3+lP53i9ftOVgMy3vXS6sIsIHFrllIRLYW8q6x6bc1qu4LuhUBTgPRZnRdV0/BT3P/p3U2oZwwDva2W8JGGQssdpeldULQIPsc1/UyAY7lPeZgPgE/fvqjGGS2Kmop+QAvVMcMp8aPb0PfN6C7cwYDvy8u3wIipTflZqEHAuucSUpw1dVquz9rcKgv1zH39hHmlTZDc+/JNCLXJt4luKpcJDg5riWZXMTlokS+9uhiY/R3RHKLlYyG06YpibQnNvqgrFKK8BVSN4TN8Z/vCUC3ezDBM/CqBA91CXqYjBEM7mdnkO/wnrJQxWmGPFqMNM6qp21ZBr72m+jQTV1/Qll/yiTdAig4pvwxEckwQKAeGSTF/vv1sDahuy+xkFII7xtmBcCtMyxTA/nL7dn7k6Eg6CRYC029W9mhH01tkGArvN+uShYG18R0FZApLg0Nl+IhWRzQEcAR4fQdZtMCDMAD+zHne6mPMzxqTuORf2JCyCU1TWTyfBQ0oLvfb7NxPNJCcvlKEhx7rIRYAwn84OXe2ETPs5u3ZejSJXqhpymiokzBhsiNsgrNir3pp2s7fJwPv09LqrS5pOXkZTbfnGKeCS5p8QPKKFYXg1W7ohp4bxiXpcvK7746jDAcyM2W6kFoUlXv1meRGiAfs6bdnSJYqlc/jurF+IJ4H8WWPoGoQATZtWDQ+x3DwsAFFRU6e9bNh1/kjjxXFAp6fNG7pP6by0gB7DyrUoFZ+XUMzxgqxdYnKd6BAKxTo7nAuNan47zivS5c2xTZ7nL61eBkAqmiD53wRihIpGDwUA5Ye7+duXy/WEyZBdBAfXa1ssIhLyVmIMQau1Cvj0XHHdhQtNca34EQN51bKV0wxOAsZVZk+2Tk1sj45KgKtihTd3mVGbsyOOFlrAuAODQNhzJx96IvdFSw933pgu9Oc+LmT7RzXOq3trvSyd65orJcA8QlqlOy04aAWv8QffldsqoRJr3cymCRDIUOqcc3w7cpKQDDJSOPKPblTYByGOjVs4rhYhZr1AJFgX3A7VkMSXGxE2QfDppMokVItf1I+OA2ShR3t5gQOlQvonYKMLMhZozhaFVMi+IWjPrpG9fwf56bQomlLlOFOItIJE0z072DmM/Kn8rVQaUt+O1ucQmmGi2BiCaeEcyOKmGFXl8vQQhoGlYvd5LoK1vqCFfeRQcUw8asNCmlWlAzuav4hR2ilnB6GXyL1Ycac4h4I8Bftek/VNuO4hV1jhzh6TLTImIv/eTP/yVnpQloBEha+ao0VnYH4TE+DeYaUDhHVEKkFDFK9L9bo3WWAX6DKen61KeaFzi0p2uMszrchqytQA=' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Cars () Func Data_Drawings ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Drawings () Func Data_Home ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Home () Func Data_Landscape ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Landscape () Func Data_Misc ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = 'XQAAAAQYPAAAlQA0HSzgOglaHi5v8JGKQtacwjB3cNbHUIgZ+bPLuYtKJiyYN2Ioxry2Nu6k3fp+2QpRZjWdvz2LZToXKj8O/RZomhuyUvnZXix+qXinRKqCp8Pm9h2bFAxhLzD5907QkEnvo3/rRyFSG/V/eg+f2GKto3eAjcKYZyalOAYbIie7TrMc9Tc6mmrV/b71kGE2kfOrgN76pN3NelmpktCHuUPymGZLwG56KwF6lBiAgl1hZ5KZln5R4tUPk3sRzoXZiyR4g/jTJF1v+GW0WnTUQo1fR/16vIJqutpUrX1Qt3xxy3U7pLAeGJre9WFFS2cpNUT1K0o8F9ocyCEixMjFGc4s5z9SBS+oWKsKnlIdiNNxsKcAm4p6lG/TBaz6FOyUEk+9I8RcdiPgA0qyhXIJLBPDmb+HZHOj5cnIFXKU7GCTen5QCtq4QQvn27mZbiw38wUN+aaU696Qtz4vBGEhkemom+kYnDuhOsViZzbeqmc4lQRDQAuy3yjaLdC7VrGFvmqulXTwRzI3SCWNSGUzha+Xhx7jPSgk5iDxgmMvTLRI2ahIpnCMZI4dgxf21aiNQ4x2MxImjov8DKC4WUC7hi8OqH21ONQNKfv8TDP1whGeXhVEopeB7aW0pQKRZQPHYpNnle9WmkkYx0IWqt/c5HLZXxe2YZdgq2JNsn1CLCNp8lKKyrPIAqpzLdc3efpe76OGJ9/Zo/yIDxtzgo3qCIHYzUQ5pWnCIX0YGGY/hDFZ55+5TIbOuJs1KYTiDsm5oRtO6IsteFETHvem0RXI52ioCZKK1/wngGm3lqK8z3dkWYe65U3eOZHbKfnljw6j7v2+QKvYbpDduZYXvr5mqO5EauD5x7S2HbDWDBKwNxqco6O+pBhJSLfX4y9/72llLRiOHLsecn2OT7Q5ifw7O13mH3vnq8ZaxkHtFBpB904klJ7lzsn53WlHNd9Eux16ac/uOTDjMBVf2xkJxsvB9tJPxjq35PM3mkH6aZmkJ4TX5Z1Ge5NezDcaAA==' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Misc () Func Data_Paint ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = 'XQAAAASpHQAAdAA0HSzgOglaHi5v8JGKQtacwjB3cM4wZGIxCv1bCcVSU7IeiobanOR255OlLwc4hDvTozkTWd8W0HPGAf/P6D7dvV29mAlSunO/GPNYQoLUHgo9JgIMVYgg9jniDvCN11pUzr33kuguY0/8oAR3lIlXEVPvZLqCynmOxjlfiQxZ+q61q+R1UETbOsh5a1uwkCm4gtCSepFdrIZb5zr+nn6eSDKq3p2J9HTzuVDtqDX3//cqhWd0LPxReTV8bpWnPC1YJ542T8TGWv6m8wI9/wL6Mqa8pHzNU1+ubf2mRn6qKR2dsiUJpz+Gi7adQ9dQaUqiSMh3UjvOwovV5R5jtzenubnPAGVeEtSTra6zBaZ6jGRw3dzpC2Ao+WlCD4onb7tWuGlFXIt/PA1PZUtdFAuOogASi6GdvPohV8yrJKUWN1w8+1VtinWY6qFob0IYEUBwitrb6FWCRED/zpKS6G4yU2NNU6H51HiBoQSpBZ3HJAEHEJivInKtN5MNF8dcXwlRtUA4vXdAITfuJox/P7Osw3WBMiOVqpZHotvBePGZl6ooQVmd9pXYPx0bDg8A' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Paint () Func Data_People ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin &= 'E1rZL+EQVLOcZTJNnse4qpiq0JexENT+kGN3vx4B5cFnlowRi8LSyifhn6kXKy9AkqBqRWz5tQ32u5OoeVRDCOmhUFv7bKDL8SqKTtxLjZQbJaACwl9CK1HOXiGxiUVVSo40bXZjp55iL9UTIlaXEfWLPyJJooKODjHHg0pxQaV7xGAlBgnsoShHeTJkT7uK6qQasZBK16ZeR2UFwJz/g19WYN0LmCwdNJBpDpU8QvhOmq+oJvDKGvBRSt5c1OenZqfugguh/geYSz8408ykUV11y2pa9oJo2zBtzO837KizrjgeZq3W307vSwzVNVnDb0T6d96/JzMITIJTvtX6J0aHeLwQ7yZwhbxNcPVc0fSZnKmq3c2kiwTePDuMffb9gyi7+TMTuXONO9dp' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_People () Func Data_Planes ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = 'XQAAAARsJwAAYAA0HSzgOglaHi5v8JGKQtacwjB3cMPYc4/FVD9KCKlhOyVYInbbBoT6J0mT4vVw4A8z9+ChEY4rm6Jc79BpL/GvN+2esCnUwjZo7ykxHJf30UfmEBnPNhxwKVVsYJpsdjYFCaxbH443mpRwEdWp86aqniygkuPBb0VjWpepBerYS9LPWCgsN/Xz3uynA/cfwAzhA/GmHDg3LO2WInc2xlD6oGGHSw95/teqxwXkHKUeTY7ieVPAlGxVEsApl4KejbivXE3ks1XvKa0xDtyu+svpf6qbsH56o3/VL3GgnEds4wvC5uezyrGEa/hmNzNS8zp9sXN5AMp9vyV7/GrbtbqeSXyNfdXAyH7tHZYQI18mHE49RZ1vPYcJl0tbb8JgORVIJyL7zE1P2QspCW1f+b6bvkftWrc06jJ/vUukQfOkIV0l2Wqfqt1Rh3ZQBdSxwTQX/1qm9cjFyGRtw3do2lwzhfye42wjhCDDji2Ypcnty2FZZCu5vdyGFvM524UbIoat+r+TJqL7n9lrhGbuzrvCDOOZq1TRNjLBZoJhB2/swh4aJ1B0WahAr++qqD6bt0w/7H/heD9vXPn9dbplHxPTlEJR921858nxWFUzRXoQelneWep/fskri/nDDl2fgwFxgl/wZTZIEol/HPTQrCkReXJoTUMKEi3UlxHDqalHtveJdB5qfrc43LUTaC6M1E9qXMJXJu02szUlb8V0RsND9VgN2MHvVyQA' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Planes () Func Data_Plants ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = 'XQAAAAS8QQAAuwA0HSzgOglaHi5v8JGKQtacwjB3cPoCnnfdi2VUSAGUtBzzyE08YbOOj7TdH6Z9WHcyLsOht8W5JsJPEFC5zzHS5PMX2NPYOHF0vmULvOOXUlWnzUXk/qF7POy4ztL0NJT9R3LKlKhdpJ7KT3pBMiH2Uqchw0rRRmScVXt8r/32cnISMKbcnn4bAq7DxpN/jHrgImM9JBnRTubsIQgObglRy0xT7sq65rkKMd0sRwORJxrmV5ugKbqQOWZkgIRE5/lI7wSMirerTwQz906ZmkOTq4bz2d6Gn8uY/0bjNA0KIzMbFqZjkyjLPDVB/A9xcCO8dF4fs1quZi8RnueCHr9Djvc/O3CmOzz7sImMWuGOVW+R7vUgVBq/rxM9JUPnMoPX78hQ6BK4TLNXz8Mz10XYH9zR7gNnDbOsv0qk9GasAQQamzM4UbfXxGMVkWrRAcrM7cDPnuCBB6bBZosTZqPDdZeXe5bPYARCcx3fjuNGYpqcELPHX68QWbq8b04iUxh1w88j0NiMO267cmW0MEATYWtrYWINeNWVn1Qhd++qs+pOEgm5nBTrsQ8rlnD4jkAoYfjNGIoeTS7nPm7PfDknoTK3Z5iNR0QtdIrMSq4ODnqNcP/F/VkoDYQ9mdiAeqh1YnvRI5zBVPO0435sDRt24eXn9bcuPxthnZREJKqUCraxMrm2kSIOYY6o7oFMh2R08P0vpyJpyQqbJ+ea6RFbJqprCH7fhQTIz7juvnQDHzQWVwpEELTSBjFn0dP/HagmAjSSZ3vyHZS8itO9WemLlFiOmZboOrhv45I+Sx3bP9P4yr7avNyfI0PmeCd4ScUBd8BFkSlRQzUo2ueE1/rfTO2SSv2UlYxF6zFa7Ow4Yh6400Hf3n2d/EmNjjLDI1KPropMSImus8jxuSVC4vb2ZuKAQM9Jeqc8UE4wM2v56VIUME0cN+hLO6sWMJI4mms3B3kLkUoOJ8yxg9mOBBdkWW0aMQlCShnnzLKqY6gnzB8VJgtCjP5Wlr/csJaptdlDMdlbcwZ5oQeBLkHzKii/OsSPb6tIuC+3Wsgd7UtAHuFVePoPmfDhUJCDM/o6FxfVBTeKegqBbmzI0Hv4Ipn9Aqp6nkE3gJsFXyz32t/87V0f7+gby5H0k2IyN0kD7ZBED36qo/BL1tWBQxSlFzUPS0m5sIQRv/9C2Ru6OTcovLotbiMORySrM9yuJ/RzWi0klLpefWB6ilME4/35LXqYW18RgUB+STb3TH9b1vuRQvW44nm5rI7BDJKFFx5L9TeUFexWPs1WoghiIvHLcVXPo7YsjyJW9bSruFhEGr/Kz7BMDkZ3s0f7/xTGa9RFkPGH2DjAYjMDIx2QxId30RPfSvP8PuwaNMNvPqQpkmVk1STf8IZ1/FeAqYgOdIikmcw5ClQkZVCV1wjlHnAhNwpRrk0eqcyCJjZct3H9RNRcB2aWlTbwKLRIgpTwS3vQ+5lgYVqpadXPikNIdckftA5keDg/KWDw2Bs8x2AUYOu24c8623lcuXTsAsAocfz9PLxdq/qxfXfFjkdHlLz9NwqCJqZgT1Vdx6pfpYONwApPKFBKFsWxtQTIAA==' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Plants () Func Data_Sexy ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'grQQnJNXUyFBLiM+Wtu3zt3MeaJVlUvaGd7WHsonGn7B3jZiBci30dMYrFojq0TwbxD7MJQpvWF6Bzk+GdPPVuNqXk5XEc1lLDHCZsgJWE2j8UDgPycSP0LVjzoso3/FK0A6PbdkfeSym6uKG4q7xMkD5mdyVaqRGbO7UPhCsX5mMry/NnGvZWucQK5QJ0MLHwPMxv1ZnZ6TuiR+ycDbebqANW0ZMkk9whnIseCiR9k/6GDk2B8Iq7GjT8lmPqGvhritQN1lHfoq+4NDWqKgL2Io+epWOwrGTPkXMbnaa6afF/AhIrXujjEBqVTqxHQ6Yn/Bw4pGiTDP6TtWSB3navaNTlta78TK4nMBs5Ccztp5Vqy+nJvdZ5Xo2uPGQPBWWuoynw3OchHDre1Miw/lT403mPsjMsSBPIsUSDUuBKG6fMsrZLDNRZaSgwDP1jo8Be8rnq8bEXFP4blv9rZH8zqYjGedm42r0RHqDRWzpFTi6SXjiBwplfHWUfK9JcqGVedy37dAOd6VKQCc1EsizBxaHzOxrEuYuYEMeh7Hlj8bzoLX52mOPZ2VZ2HLbcef8I1O1w01se4s2Ans70DHXrm9eYADddLnrmlSLlim3zlPOrIYTHtAmII1+TbX4HHZqwSotX3qm4L3qUiDM719P1oK+y1oh2Pd5nweYyyyz5cv/1YKO9XaZghw6tzLYaoXvY70/Lf6uqH0AOye45BseEm+QU2brwH73hLp7XpagCXRcJhsny5PtE6qGdGuarGCsfATFtw9GWrCc3aIxakO8hN9MFBC0d2x3uNGiL412Rh6GjKbnXZQFN+V+VDB0So2a6mZd6zEDs10USc6e823Efvnt3iPmioK/SPkYd3nzgIUnukJoRZ65rj6IXBrcKp/xSBriy5Fam6UMJdvKQknA2YthwXiPFnkCV1KFStsSjt9Cx/N/oR5iflIkQMxcRnVRAwA' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Sexy () Func Data_Space ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = 'XQAAAARKMAAA5wA0HSzgOglaHi5v8JGKQtacwjB3cN9D2ppxbgIIMkbqqTfY9s8+loZB487+LaJ6O0+95Rc16ZZk9YeTPfJsFGQJ4KdfWiwwAlUZoH+nqlt6pg2KcpMdrH5ASoPsRWNv97msAO5jzOxZ5Dn7U2WN7N4FjkQLGyVc0SeCBYBl7Ay4nTiX+OsbCmdojp8+MxYd0MHF9WRpxxTkXzgQSmaSg7iiuvkHlaNTswXAo7ojj2j/koaEBNMS9aTLN+dX8E9TToDR4O1dltrvLw6vt+07tdmpcBrMTDgX0YzLDj7dvhiM+3Y+vLaYd/dBBEv61sRKL9ad4lCUYA9x1OLQJ+1KZh8/b+5G/3mmaMkGHeBm8vXHgsvFH9tf1Q8wE78vuIxGjNZ4VuQX9EhJdDSMJrSl+jGBtrSg20VafEU6LAqHVdJxyvCdfRK7XVf578f/+dbOZ8CsGeasbt4hK3R5ZrqrapO38aiy+DN+ovNrdOerKMcO5GTUD4qsBX7neqxBuanyNNoM1AMcNF08Av4AqOEnd0Z50hzEClMx1dIxicbs2TjNzpxPz75Wh2HWEitrzeSehVc9lyFOIZgRi2qjSiv8OpxVcDiN5w4su4gIUiGb7Gvv8KB8ISGdUFcpXLB52QceNFixLcq/LFveg6/nKpsf7u72wTOrPnPvJnVeJOe+p35aFVAtqeZBjPgooHzQpKKaK5x0Jihlmr+y5aLTBeS52/veNsANrHkFAAIbtU/xbNz+bmtdvLbu5jlxHl0/IGPWFKKnWSXqR5CSKB4QPikXwvGNmdCyfB+UyEHDFloqZzjZ9HOregRGY172YKFVG05qoSJxQAFSxei8XPb8J1/yKj8olqXIwmiNZLIhnZ7wSxUpHujkJQ7eLAnETmo9SJSoZ7yLtnL/UBGMh0sgUl+qDO1lv6Du9zCVW712NGa1YAQcinyOng8+0pVvL1860pRWxRwJx0g+EmJp2Ui5XOsKY1/1wm//4yu6wkJ6' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Space () Func Data_Sport ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = 'XQAAAASWWAAAkAA0HSzgOglaHi5v8JGKQtacwjB3cPnJFi+MURS+K7HY8ihkGOzaQyol3q1ajxr60q+8HLrPQHm72ZVF6I8IHBrDHCD69DeooK8hMTI4csxnfN9znXW/BYHvut9GEQytbXFN1w7uu/rgn7X7Iljr7BrGLhsFvCGVk4xqR4qeB+My0qcFjR6Jf65F/Z7hR++pLDtsZ2NCpi8Uj5GHdWHGwITK5pE2t5o03AnL3R3yNxTSgGZVdBBOKmNs+XUJ+H5wyQKTMWMFIVP/40pMihrp9kik/svWeLiR0p7Le0Y9CWUMqq4lPRBYQbjR6ZtnfXVst+x0TT51NjJwwcRgvhVpc3Xt6Rm+2LAulf+z66JEVcnTti0iwjRlgd6WlUgAaaZtgRni9JF/Ean3hBxwtaAzXJFKltOr8nluXgPp3g5/BAOPkFhdQ2SQ70En2KTNW7YJb3m5FriuaVqdgBFT8/o0T7gWViOeUMLa6ck1VT7SN/+qmjiXi55slokRedUJ4yNCdYuuWhPPrJKYJKMnJke2L6LR0RSm3ZHuJHQrmN0uIhdlHGKS2l2hP9dwdtk71SA+2FfMe42pWMutRb6iRNbdsSXINk6oXlVqwlsf7ue+EINd2bvQ7GLMMytb7Gin1cdEEuoEfPM4JK21j6aPKNfsjFqaIJwFIHuMM8oi59+8OSJQUVuF2jt7DyvoQwr1iu+ofAqiBTFtSUkuMtRabRcU6QvzCnAHRunCYQ2Dwi3BUzngvk8K3DtDMMJ+L0oUPTX1OK5zSMWO0T7RutWONWaWiiyP9WR6IxkFdsx0jGA/04IcBe6ISq7dpr4PLoDgFHEKnfIcXAEFsPuinggAkEvt9wUDGCVrHbvP/KRsC/zPcLsz9nIV4MW1HZZv/E+r7QmPqRWsT8toT4F2asrBXHEDIiAQcSVe+l9UPl4QU53RYLY5/jld2Aqyr8jJS0Ais+enP8lDyljO7GC9w/nVq4JOFKqs9z/uKCCM7NA9OOZOXftZDTD38djj17WdyZUBVwUVJcp0jYZKMNVlSzzwAQuYKxHS9FWuzXC07I6yL5QrcjLXc6gj5VV5/iPXiV2caSjTwzr8vDgumnV2BK74MMVpej7dOVxTkqiI2EVVLecta66YYfZv261O7c9PQps3VRKaK1w5NgW+uVSOtQhj7FOzTMmFuNMy9wLP1T2uNbufzmyxlD9uH3XTROsyQwBe2j6ZG8/zv4H9ayak+wsTx4wvw1/aRtLanQxu4kYfZWB9fhcm1EC3I2Ehga5Ngw+9Ta3Q9mJQZ+qv99H047w9To9TCRYPLoIQbuYgRDqq65unGdHlNfWXGwRZYTXLfeH9qVgrs12I/gSVTea9gakb/8vsNTtzgCMelkENKmGSOrFAoq9A7leH+vVY9dZ9zpgzIyTY6eULwNVFoOL489LVJgRvrcXwXrwJFr7fb2bpF+isNRkxxRfOwMnQUX5B0sWiBo65M7JZf81SKff1vO83gklTO9Ba0XeSh8DA6Q4SrA1BvOY9w+ccZHAckW0mlC5XJq9s4QmWN8xTSaY0tlk9hhkqP6YcGm/Emm+fkczIYPD2ygCK7+ZLyI/yIv17RHJpEW20V80KXYzqEQB1UsOlT1GObxk87TFlWSdHCcpI41A2EMBt3UsA' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Data_Sport () Func Exit4Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'E+mLz/g/b9HZDgHczP6dyNufnCFdxiufFmq3hCQvi/vZRGY+g294LAarGdzibkribWAEW2E3AqVPeC/kmdQa06uwwdeIf0GsiLjHSCamdpkK9A0D4gdCxpHrat+p+InBezPXpMijoUaJ6wHDa/tMjHm6r+9E6c0Ii9xO1/eZ2QSEdZfd59AW+35396zQ9AgqAnZ58yB8otpgB9xNQ+ICl3esYKlVAxWifvhbTraQnmhG41i4WsroaS6IB7GeUROpUvsbbGLu6hDwrn7iGKZav5SqyabA4d3FAK2N+W7W0eWtyb+u6warrLAX3FeIGHfMfN53kGVek+Zs704DHNVhy7eYir/kUhAiyqthRsF0exlu7A/sjkbtACF82So1ZcbNPk/7XMWMxDRoEj/mR6zjPJqrdwjcdxsWNQNysNgCA2lklmn6+th8ZdF4AAvh7x1yDMBE3dQa/c5uAGcaVnkvUVwMc/Qz0FP7zK2K0Djuwx8290mWDSE+L3prcozNwaEgEzxnKN9+vdpzGSwZXGAJiKVMhUU7ce8pC+t8CR44b6JT4PUo85V0/pvi8oTbGINBlaxIfcUE1U8NZNMr+qhPq3XFN1HcH72NBYTDQz+duXxt++wycJ1Qv89s7+NLFJR6Xcs4bAXQoamYEH5HY7aVbEMhmWmJqs7uOYgtq5QmhrL3uQs66KvYPvtMnWRve05o9qJmaotn4RsV4trfu/Sq9PJLSfA9NnSB7aZ7kViNrqVfxNjxkJvxVBhaLFQ/nlIeHdGZh5gvwFd7GOMML/YkrWiAUVnlenEO4czd1dNxjxssWY2zIfKcMDriBdskStVTwvAjig9yEHU7xyiu2Xo4FZQUIOY2mArFXSkWZO0CeEpU6MEfFmQKnjUFzxJe6dx/ifcucljqGOLlMu6qdv2n11QGuz1P3q1WGIwdHjfvQxtR+iTFj8l269OoqElobul1fuUKXBzJsCAFs3A4ntWfAdoDQ+oySgTj4dxar/Gqi9gbMx1AEDUs85XY77WWeDkAFC1l5kNcwsYvFtAPp/g/PQenOkksELLWmB8pFfgfUaHk+nsHMEnxYm9sCdaHqKWOqFbWmgqU3KskxXyH7xaoOdHKkGwSEkvARhjGbLO0ti7gz4HKT5Jtwqz7Vp//IaJJKaMFy9Q1dGSytAi0lv+sPiC22Zm3KMTl9LdBPJ52p+ZUlMZ3kd1VveygJdI5EUb+2Di/2a72Mth8hasL7JfxaAAqoIdYI9Y7ODSIpf5B/qbKg7pvqsXKaOAeKMEtZmWkoh+QfxjT5rQEaz/vPj799aFK4Aeu4mNgMW+M0Uw1Kd6iIkuxycrqhxXI7b51/gA=' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Exit4Ico () Func Gif89Dll ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= 'Dp7apT12LtQWwyTMtplJaIS9ltH3Rufcfz0YYnF4O+kB/IaJfmuBO/NAQu83xDMNNE2Q4yude9NdC2nvZ43uSWKM4bL3mmefOfCbx7Ns3HEXNnGL3AzT/P7pCKOEgpcDMZVUbpYT9nw0KFPcVwlg/dlbjpYAQjGajsJ0bN7xKJSVyyEpS93jxItb3RVw0s+Jf7IDqs/qdraLLB2kGmP1lkW1ZAV9wu0MS3eOk5tdlz8GASs3eKbRGXrPO2Z7a+P60WOMQVQSBzruovOS4rTAK83MsdrYxB41z/tOq22Oocue9coiea76HcrUWdlN5zLaAwYsXt0J89t5iPmYDz+rp92GMcZqDURthYxdMsyJQHZx0UXJiDs06Syr/CbdBD524rtqVFcw7n24Tbn5pXqTd4YRV6rq6fAc9PzCf7tKbbIL6YijkzbuY7GhcxiML7dpZRbM8kZYBbn9K1EfCISWhVTfN1/2OFiknomLb8LEBl/VxiQxUee5oNpmFnk0pEoCHwRKrRCeKpa3ebIoPHC/dDHN81Wn3+uMQRpKOYMGnG2cvlHmkXYxA35tDMmvwPIBIVUMr6hDtix9X4AfNb6gLoxWwSrx62uae8R2wNp/5RhmT2vmOh2w+qhgf+86vUOUZlY0vLuOMGAfaKIb/mayTJUcTgOEKf8Z3ONvlt5zv2DyRf07h3R8LGeQVaSQoNfC8z3JnumsKjYrnviwM6IkvR3w1i4h9ozB0KJvQt5BKadIOa1Js+1B2uF9TEFMcA1xkv7DjSVNWmsEIgImrA2wdx6WnGhY+VNkjE+2XEuqFXF07tWlubDXqxukt2hdr9G45CHdIaj2Mey+KbcPStr8Y0qXo2MvB10z5iFVerEtjLP98jPk4P4MOZfC35Y/0nkZcvVOrRbjIUDEIhFRisqX07aOCNLf10bXsPaUcapqcH5f/9/RWRrUZQsEJUblXQVix/gMqEzVVeP5dX3OIZ5oIi/E9nYfI3wldr4k8+MKIHflNn3lJl9+affUJjVMv42hcCLpowM+rtmu8UqczgQKQlGnfHl50R/06w1QL525LfgRE/uWo+Q4h02xoI1k6/eYnTlu+GrPFCE4ROVu+VHpXWNdPNfeyhqbonBgpNK607FoDXw+2hLRfK7ARxfatyTx4Q0UGrGg9nqcYTbpyt9vzYcYxxy7bke4BPsZYyyh/eFdNmQemNRnkaXtJ4PnwFzFSdc9zooXNdCDg/Wb7a20AqKVNa0BFGkPe+dnTUP15JYVQJBldaWkMR6VhTppMWZ1P8pKEWzBajCShWooKC+74uA6zp9HNFlEtwNm/w/ffQplLhdFzgenbL90jWz3m1syaK4/WXXq3AchXNYqNdxi0vm6L9MEdozvA5pIwGo8OONJ6bqjJfZoNNoOcG2S7wrFbTz39S0/f8t5sSig4RMrumDqru7aky+zgcCCaEshcBPwDfhTXerDJtVATDYzbg4fQNEt/PgNnp19MjlJMVqjgMTy85AlTqUJPrLquBHMx6I6a94mV4Sxcnq9MvnwIlYPh6d/OZI2pVdPa/EwV0KZ8lagVuddEGRQqx41Y+YWzTCg9sfQNbtQiJGGnswwXBt/KGAf7M6nyRoRtPxF57mdTOtE6lrqUSByKAzsuJJXjPBWGCvC8mg0sjB8xxNnMhQ7iJrZHsBuVwjSxgDda4q1ydZ5nDOe50nU3ccBZ7gH1kHq8p6ExM8IbodJ7l2G7RUBoVsLhG8WLw2K5oK2QX6QH6GVOWm6Vwd0ljG2vFnF+RLdWQuvxyyzmE0XuTMhMjr164ZBsaimC3Mbc3DpC9knOZVHpxe1Tbzs5dwvnSy79ltdeJBODeOdrucN28hbmltGoki4gRpEPaaRFFfFkk6lMEwEYHQf4GDo7eqpkeXl3r5mUcBNxvi0BDEMyyrGcsJVODRuIJsBuNUlA555UtHFIwYFihK8SuuU/17QYdKw2/ZMUS7795f6qS+z0EzKU720kIgvyEy+InTihuqDyhro0w7e184lwoCmCWtO/PMlIHzEPra85qgcuIFufPi2bZ1sz0QO4hp7CWzK38yRN25NOrwugRpXDgwar53KUqt9zw/c5SlQlqkHz/dc+dqb6sks5I8PDpmUwFXEkhsgQ3Nf9ZudiI2Z29gFAPhSCFQYeg9TEK68zv7IZIlIxIPD+KYnOCs9vCBBDsp1VTKpFRQOB5PjFz1vuZUbpQF7JJGMsMY8dBF9gZF8F+FScCBsuFSRlQ2YKYwtiGYWwLD2Q8Jbmelp3HPe2pLJZy827vJh28jKSjzxDDGxEQrMGUb/q53BsKNLGnhJ+eyHKeBViwR8/GnMLtLwMPcmPoILfSsrL7zvSyLqSHaScs8dK0j0j3D+KKpXOagUdPeQstMgEaA106tuB4Fo/IosGPggUAeTfJftAg9hvEu3NfQNC4csJZMV0oTwO3hYMmTG7GaM0REU23mdotU3W2XBHI8lO7wyqbCVwGGTJ1GnXSrRKONJ6EIqRYZNjspxdyOJ2q4ZMMfUbXcbH2npHo0R30DEHeABKKxO2K7OsNfNY2clUYz6Ul7EVLvrnCRl1mlfY+zyicJIQHFZMU7pNjs2P+qze9oP3o5RUPyim10bVhYIZOmsRbxn2GwrrYxsWFeILzu3fZLUEzCyOxaTQl54QFx3NEDJQocBBa2lzpLktub4nLgOSQeancMS4WMxhGIeK29vj/jSuCT7sw71f+zMHxMKPXyvAHCeZRHVmpPFEc8v7dxnLa6knO0sAUYeUc6+blRskdGk7cnuGzbXWXkmjvEbNdeRPy3c6VMd73sXJ446FcqFYKOzmIShTcqk3+hiL8o0BWWaX6/+buwyKSUxQ9uTihKnSaZhqz8cFG1bJYdEAkZSKLWSNU7hdsMKawUxqocngEQD7dhmB0Vk58FmaK2/n5PTeyBmHCTmcP+oS8EtfiV20J9JSg4zIOFP+aPkx3/u9M8/hiNllZY9OjpBBS/tksgDr39UTeOQiGgGTSaTipf/od1SY42V8Sh4gbjNi3kJN3qmHjNAGI9I1F9xsFHI4ClWlXKLdqCviItsVwPZlxeVw9lPn1D9Spjk2JGShhEqqZ9iFFvAwU5YsBy2kUOLvnEFrSs7DFK/f7xFpmWp4zQIzI62Mdftr2FMGHMij2aCxsg4Wv9RmrbptK7lOvu6caHQ70hRGfsvyqAl1/nIoNdDsbLVi7m2nMUrgf4GNRkV5D0ENHZ+Cw0t++NGoAW+398FtEUyqWkXOvpjRsu5K8/BVWv0J3hNDMv6i5rnQL1tAWD9d9geBZo7fnDjjToc/21itREp+QYmBegj+MmrGgFMSoOO04z1+IV1YpZuDQA9xZwEcLx2VsVDdhJYFCWvpqrZ446I/mc/PEhGksQLwDdARDXbWSRU3b1eBNnkRJX8WqHeR57Te1nIdWSa/XGmfOh5piu0UobuVioAU09wekXiGdN0pKOsVL53SI7W9/JEGUM9y+hKWJ3qCHKQY7kUnt4cSMJopgNrcqQmjzqFI47XPkBdbMWWIdVKANyXEZIC/x8jGxfOtdbkM/dnYD7nGg0b6LAy3m5ztLINt5sQoEJqZYsNLfs1ccgKDRMVBJRPa9B4mlpgvb5lZF87PxcIiCv646xx1Cx399xI3HOvOZaz1RGhQ/7scIJcq2R47Fm5zmFeChwoN9P1DD2cD1ijNx3GKypypdnO1z+qfa7jnZ6b7ArlqhLzfd2MCQttftf3NY6hAYywPQXtzWC7yIVJb/muDzL2R/zZDO/hElyC2goDkdiRxvb6w47sPesszo2mPFlExf/dghfTszVuF4lQmYsRCAOUo/sQ6e2Lze9VvvJcN5cyaNEeKsyUkER7rVqK+6zgLdnVf3w3oUr2ADYZYVKadL7aj4wCJmeqasQqm3VVvjpwBwGg++hcmFxAzAjD2sBjkt86mihMNthEJtamZ2WxKDW9pPezKO2jTnwjGEjDGjpcrfjaMYwvqH1WkY36mon9gQwzqcayoviA' $sFileBin &= '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' $sFileBin &= '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Gif89Dll () Func Locked2Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'sm3f2Rn72dgcwuEAdU1xMMnImVgytwMAHN2ThhCvE2hLFC1yN1JBJ6TnFKTfg6yBK1Sgye42InR3ZQJHuWwtftV2esYhP9Q5IKFZ/DxsINduNtC+lngbFx+caGA6h3cjtBjRv9YTMn6yEaJfmlJVuicJpsD8V/61s/UQ3dQFlPhqtPckIWASPY3iUxFRfGcM/C/DCh8Yl6idaroBoK/lx4icdBcVEaG78oV69yMaLkFjYQ4pGuONMZ7L9Nzzav23W6mzUia3U24wTRxkQ7tct1iEahhCmqXU/zPRThJu9yo2TC8nCIWu+1y56+sWmMQopWwrn8wjqhBZTNrIMBjKG6vhpPadFUxoPX5q+LI+NY4oHRdAzLA0gTBIMhBKIShlSccu2MBcYfO5OZxCIDJ3DOSVfaGMyZRLXHh82nInasIuohRoxnerlJf9vuwHFInR0H6DKSIqA01dpypIoYh/nOGzLlwDqCI/+QzKr7OFnauwjaQEiOunEOckxOf0c6OcCFMbuh9aBJTQmkSYQY0T7MypZNFLldCKYVp6YNCO/kOIpysR0lnH4pPtp/NpE88tO9QBMIUaHWofb+lSIcfdATcq8Tp2iWkHtOYIjpjfPhhoJkgEGmVJAUd8+T/gaGpo3w1VqyLlrL+T0QTz+hxs3vDyRKQJlOWFICO6upzhwQkXRoIIEhQFkENfES0LrqwNIUrDGcDDIishDl7ADto8YABpVywta9fc7UuBMBFtBkm3e0o1X16ziV/PI9sA' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Locked2Ico () Func Lzmadll ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '0x4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000D00000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000A343B8DAE722D689E722D689E722D689643ED889E622D689883DD289E522D689E722D789F422D689693DC289E622D689E722D689EF22D689693DC589E322D68952696368E722D6890000000000000000504500004C010300448DAF4B0000000000000000E0000E210B01050C00600000001000000080000090E100000090000000F000000000001000100000000200000400000000000000040000000000000000000100001000000000000002000000000010000010000000001000001000000000000010000000C8F000007000000000F00000C800000000000000000000000000000000000000000000000000000038F100000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000555058300000000000800000001000000000000000040000000000000000000000000000800000E0555058310000000000600000009000000054000000040000000000000000000000000000400000E055505832000000000010000000F000000002000000580000000000000000000000000000400000C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000332E303300555058210D090208106E62B27EE4412138C300008351000000A4000026030030FFFF77FFC800010053B28CB9060088C82C01516A0859D0E8730230D0E2F85988FFFFFFFF840DFFFEFFFFE2E68B5D088B4D0C8A451085DB7413E3118A1330C20FB6D23284FFFFFFDB15001DFF43E2EF5BC9C20C005589E5FF750CE80300974283C4045DC3FDEDC8650F48C81062536A058F45F8DDFEFFBF4E0C833B0A73088323006A0758EB5A832B0AC745F01D004BDBDB6DB306F45B8D0D50503C1C6A0009F8EDCBB275080802181410538B4536DB7FFFEEC00A505647FC8945FC83030A9C45148943052D6A6BDB76F70953E82A92884309722C15FC9876FD9C6C65145DECF0836D14DD6EFFBF344D108B550C8B0239410573058B04890269EC509EEDB6BB03F45045055108145069105273FF67E77E6D670CC424837DF4027505B659F2CC7D5D5FC9E553817BAEFE777BDBCA381F8B8DEB0F686B016EFFFDFFC2CD3C31C05B02435243204572726F720D0A00CCAE61738F0055B80192435D4090008CBDBB734EE1C7000515C74024000604C9C9D69D2CD9FF06201CC9C9C9C91814100C0FDFDEC908283E7C908D7426A4567F2F2C6CAF55311ACA0F88EE7B1A8B423DF6EEFF0485C0752583FB050F8F8C118D4C1B0E96D3E089B2BD5FBB1A8DB43514BC27062B08E7F97CB73815010A0CFE0010963FCB9FE7721485F6CB4A1885C9A9ED32F67D5A1C6F8E2B207867746DFBB79B240ED1F9178D41107502D1F86B241B1582B59B2C2B5B5EAD7636E81EBABF96060F95C048250CFE150493E977EB885D54022CCF90096FB8021880B50905754B433FDE601FDAC76D3DEB900FBB426B7763EF3E01FE8DB65FDBAD95C3899F536BFF72F66E906F9F83E0E08D484089C217D76E98ED631404F3F089DE100AE57BDB585710730B4DBBC22097C10B420803376F1BDF7F23A4E583EC3C8975F8B9248B4B8985EEDFF87DFC8D7DC860C8F3A5890424E88AECF125CC2EB7CC18F88B89ECB86FB7FB6EEF55BA664357BFDB563F53BB110D0BFFEDC606024601019089D989F84349A9C1C2DBFF6FBAEB0690881C32404239C872F743B2157EE109F962C7DC5F51E98DBF4F8E18BDF1B799897310895DF48B460F1F39D87BBBD02EF589C30A5F5C241A44240495DBE51D6F0CA0BF60295E08015E1A1F6B7C97B98B2DAA764F575052351ECE7D1CBB4848A73A5CC1F76F6FBF210881C280C33C05102C0489142481C718BD0877AF8B39575125B9312A894C2492452E772BC80B04587425B9BBBF93B000528248191B870897C9EDEFB680CF8FF042C1E3058D343B0190A37DB7B74EB583AC25288D930589CCDBB22C4BB789410508080C0CCBB22CCB101014141818BFB6B92D1C2F8C27411C3E088D8E17027BDDE401CD8605413BDBE9B75AFFAD1D' $sFileBin &= 'F00B0F8E67760C03427BF709F08D9F640981C60C2906AF77EBBBDB74DAB8801883EE80891C4DEB80EC7B6BFD4808FF4DF079E0972F97640538C8C8F7B7812C918784010B3088C8C8C8C8348C3890C8C8C8C83C944098C8C8C8C8449C48A0C8C8C8C84CA450A8C8C8C8C854AC58B0C8C8C8C85CB460B8C8C8C8C864BC68C0C8C8C8C86CC470C8C8C8C8C874CC78D0C8C8C8C87CD480D8C3C8C8C884DC88E09C384EC7F8C8050C2B2DB9E42144EF4663605CCF31F02B2C1919D9CA48060BF44CF81C19191950FC54002C323232F258045C0839323232600C643819C8C8C8F3F8963CFC40979F91E7009744048AA0BCB8009D8E3F743AD3E68B91A825ED1C913608B2BA54291CB373226958AF5F102CD353026480C35A05649E4E03A45F5665892A7D84745F0301FB179636687056DC14531486454A81F40B5F50BD91DA3B5F08476E86058C2C43255F5DB7C329765B80E4BEE4F25832B29DDAEF640B8830323232328C34903832323232943C9840323232329C44A04832323232A44CA85032323232AC54B05832323232B45CB86032323232BC64C06832323232C46CC87032323232CC74D07832323232D47CD88033323232DC84E0884C96CCD65587875874A719416A416E5E56C791CE7824D5896B8B9AD191EE34D28B6589710B5091919191F854FC58232323CF002C5C0460089F232323640CF8963819798E8C3CFC3C009740D3E91919044417675C891348A56A5E89F65FC2C4480C9F4C048D4874749F6EB81B83189038895DA8B8A54D8FC142B71BF90822C991C483FAFD347FB6040BBD75C883FEB145BC3D6BF9CCCD062587A30A40989FFE7DC9F483009EB5DC89BB040845D083F857B6F8DD33868F251101BC76060D2FE1B62630BE6B8993984ABA6FB85FBF04398B9427B39C05FECC000FDB75BFB7941D83A4BC43D4850AEC36740F50BAC4ED65D8017E4C04037FC6C289E776044E6FBB7145E056E0BC9CCD456B3F16C70EF80989435F2FB80FD43A16BF7811BF0B8B7AEBB472F421CC0E2F8B5020ADA391ED395B0D060C007D767DC606011314C6406A5018CEC9168C7D062C30E8B2782F384F8F5D856EB150FD93758E70308E521BD9B674795D8C759011FC3C8E75A3F18B53B329C68DF587FE7783FF1239F07407C7433009C2D2017328D1B2ADBE932011532C04183B05BAD896EF6110D970058E5AE1BBFEA6FE76308B48DFB97EFF568BB52942C05F6E4B1483C20183D176B56CED00C1E6610E8989A0C4106F15728F4B2FFAF48845F76DBBDBDCEB09182A0C21004DF7741817876D77FF55F788104039431C7B7441C622FF4CFF36EC1B2CFFA509D075CC6550236B93FD89F0C1E8186788536A1D1078C789D86B0C7CEBB6FF89D7365A0BF3C20C4C8086F051ABFF1723890B74458B034E89F1D1E8960DBFF0AD94F255F0D3E8E401F7D821D00F43FDAEC085080C0C812BEE0077CEC165F083EDAC2BA725035CDC3E755F61241B246F0C2DF091E9C60D89C613213835BCFD37FF0FB71A89F9C1E90B89660FAFCB382B2BB4DD2C5F08CA29D8CF05775D4B18FFB781F96C66891876328916508FFB7EF7AD4EF8D811560C2B89FA29C329CA8DD13103DBD025A1E119890E36D3E163BFE9A96690FFC75689D60194B765386081CBA93F5789DA36DDDA6D5607FAC1EAB11456AC01DBB7B6D0150FE70E00FB5FE376DC9B188C210F573B56BEC1634BB9A13C4A084231C9BA851768EF4B1FDE63C9EB0356B4B7F6DF413D3C77F64A79EC619C83C31060D82DD76D80C85307326A76C853B7B3C5B64FD15198C97FC6536887BD5652489FC89D5B68EF6D3E144608A65DA325438742DBFA31C2C1418B483D0812D2AC75A7D488A66F86D79EC55F5C31FFB6070AD6150AAF049F441FECC89FE90CDBEE21F26501D0FF30596D50EECE5400CE70033C90EF330A07FBC8F7D021C676BD5A2E02381763081F6DD26008F0C6035185C655EC746F9460578B064FEC4FC118F8666B106E06D3EB83E30169326E1722722809D82E75D9560EDC72584F1C0C45313CECBB12B82910753955E85F7D34ED7FB624CF5F1C89FE83E601D1EF60AD8DB91BB23424635BFF38BA8009ECDC09F0423B7CD6CA1D8EC3482F2F31B45684FF80C231F6E0C6E309C3EB2856F80BBBC22BADD1EA230457F7DB81E30B1B5B701AD931C6F8521C19AF6DFF8101DE89D383FB01BF5BC85B7FE4DA77807AC4081DB347032FD88585D2511D2ACADB4BC3F6F183E153EE777801FFF7A4CFAD50480873E4A62E69214BEE4B75D4D96F081D6D81025B6166176A0405ED0DB6BF000444500406425D7F76F31B986B4DDB90B90B00238C1484155C1630CAED5F1F025AB660D881FAD1D2EA5FA34BF34D3FBC2055800415F686AD90CF944DDFEC8D0413B6BD6DEEFF17C1E00689CE8D8438044B14E811C281F26F8E8DEDC008D24604F7C1818B0C6DCE6CB7910E57021EE4151286C2B6DD96242101C819E0139673FA49E2A588894DDC5F3B75EC0F8307228D706BC80867CAB1B1F0F18D443B0407CCCEE4B88BD1DB4BDC0C04B246460776CE040F773D03EC1CCE76A3163F736514B5B5D26C46F83BDFA83A01E6DCC122F1414DE03F80418F3DFC3D0F76CC33318D9F11903AF0BA08E49BB9262D3577DCF0E862973072D63F480C0964C3BDCE848F08095F2081522B021FA8E524C12E18F8D639F32360731B26B75FEF536FDA436A8311DC1F72EC1BD813020DEB0D90004FC9391E18286AC32C4B7734F8D8DE589A106B4548A3DD602A6438967756C756C3B70D4C3A8911F5897CCFC1E2F13BDD0B29541A041D031B100CFBDD5DC06BA77416' $sFileBin &= '228B8493CF488907A44B5837157A915501156CA10D7080286ACFB6972DE7026B8D4797446E941A5DC2DE0F82EB8C903C27100803EFB03D472E938131CB21D8366913CE7F96E87928198703AED887EA28AF6EBAE930C111617504C97F0190342FB7A00141548E4018FF51140242C06816FF3F1568AF1D365726AA2A4D77F7F62B53628398068C839C10444443714325227439C67419B45B28B6FE85940D942039BBC64A6C3A7C15741ABB76F81896101E61322D41DB5DB864103D48FF5C13983A8B9367B5E950E9407FC423772A6EB1E1B6092B0639D7B773B224040733DCB6975C0F75A9CF471273A2041262C2EF0774EFEB94BA33EBCF1FAB52A9B94ECA53D051DBA506C74D6D016FE9041284BE4FEDCF538C948B9C0E06818483095B78181835C6CF0F0CCD420B060541892E7CD79CDB26039C0675465594485BAE0E4A6D3E0CAAF5EACEEFF47C574635CB559C860D5C17DB5C9606408B4CA4C8EED00CAC46003048447607DB0A93013374344C4E5C3D45E440949E292561761B9ED3814E74004DBE37ECEB96336A7F8C170B4BF274CBDF9FCB51814AFC9F37C73E931BE3C396E3A54307CB348DF40D469D487803F2F0EE15C16118BD54330C1A304E136D205F4B5210EA8D023BE4045B0EE08430A0CBE17EFCE078144F9E880B178F36B6E1991E01F0D7059015E4216A6078D31453568D0C7F58B2D310C8DD79829C18A00DF3BD1BA60E9082B4512F18BBBB2957267BE7840E741581C17005B3DD04EFC273034431140610BD91BA5B184F7F89E3EC74321FB58D56BC3B8B7A1897EBEC08DEDD8E1B395A142E85656A8B86B83E5782D73AB1020A6B5F05D096C5235856EF6FA8016E9480FCB2E5C6418B82D8ED4EA5730B0939AD980BB8BF5716E0B1A7BC051418B995B0309F018AF49F0FA193752F092EEBBAAF8DB09FDF17B8A80FB7014D98F488E08B574B3DC976BBD84F38FBA1D7ADE84B79F6097CB7AE5998D68F1517E1B0A417B4D714CD9F4DB79C362A1C2C7021D68678F83BEB29161370E8D8A397214CF0B0DA0CBC9457DE14E30BCE1A87D9975BAD579CFDF5A060891287A0604F0DF01604D283BF57003D8901B700B3DE446EC21CD4F06DBA9D46137C1406B83F5E977D8D3D5C717A7E10FA1A9A5DC3184FBA8D032F0D9C04DD811C790FF02B5CE118BF1F2B83720F8F8D802B538D193538BDBEAFD00A56030F68A7CB0B18FAC8F0C283632F849E4C04B95D1B14F1FCDFF9BE8C0D7F236C08815F585381EC5ADE0E8634F48DB585DCFD90EDAA6BDC97941EBEA6D05995D481AD16D8128D780CE2B0CAE0A946C77EF9D3E28B8D120456580B68F3FD5A0C32050AD54CD92973075B5A7B0C70FA949DE81D947B3BBC85B2AA8D862ACD4C1D0368DF16A9A6D8B870B71910E4DD4BB98FFDBD90B589898DE00D83D8B7458BF8C504955F8B10DCE183D88B3507BA8067674BEF24C5951CE6933E42B35FFDB1890F39D077C3BA0EDDF80E1195B664DBEB2440E04CDA83BDFB3DDB3AC66D416F398E3E77DA7F71F86F6D8B134E8F4183F90376F4B91802A76121FF1F0E1FAD366BDF8DDE03792DE49750E8A9BFADA28081C3A381CC26C75FC15929DA0F891F10EC70D261C786F05E81C47392761F1D31189F40C783E58DCFF712EAB39C01FA2000ED346C8EF858F0BC8D43208C8E8C89B3834FEAF1EC8D75C81B018CB4850AFC90EED96B49A22A039C0D0EC7CF35F70EEC8667EB0718BD275B9404CA400F6F2830BCE8CA54049314CB70D3D94F3CEE2FC37408441BA44541CA5514AC1F513055F34FFC5DD989B92D3159D70427040F18BDC61A1A03C7E49E238EC12349F019B0DF7B08C3600FF4108910F483C5E0D016D4FEECE00EB27B0BD701006D6C60750FD2A17940161C3C8B383C89D70A9D75571C0CDECACEC1902D6FF84DBC8223DC60C85C69365BEDDD88321C0F4B04A5942964B073AE3BFFE13F490DFC3E51008008EB55B0511BB07089D78B96F486743B02FC4163C48BF8227E861A6663F1F2464A1628158E580674F13DF9CFDF60EB0A1C15074FC045E876F5457B059669A4ACE845A89DEC06CF1309C1019E00505608C08E6DD02E1508AC3C184C787787527B8D55C41476271A14BC8984402BC49DA0135337C05960836B055732B659C09C3A86341CA1200CA1D51BA1189E12E85C4B876DD8740896D420C0BEBF57720E6D573E9CFF8E31FF3D7B2DD7B0280179A389BD305CB7EA2236845A0B7FCC7C07DA5F8215786DDB499CDF0D9806719C08949C4F6C23BC72986A45C0F44BE12E76A0BAE724A0010F8673B1F614ED84095B0721081463DB61AA0C0F986CBE763BD2F66DC90E94E258FFBD40FF98444BDDCDB08885AB0590E78EFE5803F8E6DA29F1128D7AFF3A42FF5418ABDC91820426DC69E0F67EB4639E613995397BEF08D076A399AC879F766F1CBCDCFE5FA221907C93FC763F8B4493F0403BBF75354BD02059CFEBA83B146FEB6F17F476218D42FEAF02D52BF18DADC530836D4D9C760BAF352845F7658339C874D45002FDE2D4FE3BA7FF7F0F97C285D07411B903D72EDB120F74945A8BD067D2EFCEF50F831A6A0C83C0020E93C2F5ECEDE6DA81A0313EC085D085FB011E66920119037FDCD9FE42063FD40F96C08AA0DE85087F96C209D0A801730ED3098686A5183BFBA48B1C63ACCB1AB66F972521C72CA401750A05C035F12D0A1286F8C25458688B1926E333AF3F8CDA25D9721A2B030F4689D9B0479A312ED6D865BB645645A8C0A603292CC9810C00441E3D723B5AE0DC01F26BF36CEFC2F8980F95AF0C1451058C192FE3F8A0E0F290573AECED8BE429D0' $sFileBin &= '890A01688317E2F1C1425EBEBD001A83C4A1ED81BEEB7FC4D7827A42BA8D910F0CBE06A474638B2E015F6A165DC54DB029D82A84066E54821BAE052C1136C77346EBB2F9DDB2C8BC72C0BC4D0899033719D9DC5D0B1396D4050BB8BCFF0DA0BB05002065D2CD39DA770E0F82B6FC86335B07D2C807AE62313296A9858DA87F4011ADB5ED227B1DD67A980DC1EFDCD7AD94D6C04A0E8C0B18204C8B8EA312AE47394117FAB254B91D55849B28031C490B50EA739C501C1F6CC02CC46847D029CF6CFE7D81E0F88246550F9590914B68968696930119398686BEB42108957C8D7583EA11A1B3B02A14B7959AD04A75D50A838DF82F0845289FB8694402AB9C06E61B697BB1B39681171C10A4C532F06A6D07860A35EBB44C4610D50410FB2E165CB1D7445B38C02D0B152016FFED00295898DDB6D71A0D46B5048F101B66AD16AE748D1E3D14A143A5C30EDE455FD562DFE00D86919191CD950B3C4038BCB1709D3CBF1A891474F1483F3A212B3D8686EDFA38D20C261426B8AABA108E6F66435F1D67E347013843B0DBCE35D571FB1390DE4FA039097356686FB6201B42027517FF0D3113DF5003CA55B5E2043A38041AC77AD6DB74E9DB9039BDB1231B0839C7C746CB6D0A284879187D0A28E4C3E11F3A9B8E5874277C03523CA0D2250F9C9214427AE3D6AC1C21BD99FFD2843605FF5C4C0BB38021FA0255E55B92E91A74CD49039670259C107D9E83D8B11FF8A10E46968C2A0D22FDAFBEF5FFC0B92E29C1C1E91FF7D983E1C4C106D3E8F16D45365784B44828E002274E2C54BC694E450EBD5ABB111EBA071BF16052AB9D3E07111E0783D3DCC797048EC48D7C15E70D1C84CAB88B9EF2DC60A97C8C80BDDE00808386821C803BFFC12DD52D31B87837483B74E44212C2E90F5F84BE4BBC466F9517ED05A4BD70B7068DD89E5D08855433FFA235EC15FF385D7225734CBDC8476DEF8D064FEDC68BBD519530DEAEF1F63E5C1539C30FF7AD3B85A1C36F43380642955C4186264FD5BD0BB15CFAD88B83560960E2FDBBA083BD2B01888D5B264B0ABC25762338C14A5A0E6848EC76D011567416E47711B4193C1C285B454B2D360BAEAD92AC763F4821C30F7E3FDA13A0279D74999E944DBDDA041B70BE0588D98C66DB019F7841FFB9B229D922A83D186EADD3E8ED0C520259F81FB8E04FE7D0C1E109E86001DC9AEC82D9B4FF062A15043B528DF795B2E62A85A457BDEF76813BC8E8203C8D3C03BBAB1F5E8783519EE8BDE53FBECCE616720FC5D865BED40A6B609710B368048455E442BCD8684305275E2C85B37D068C01CA878D6711BA9FBB642B388D5A84FD166F959DFC6EFB182D8B5495C821700939CA7306898DC80D5EE17905B887B10C1C38BCA25A900F0C3546048DCF838260D25D21F6DD83E70F28C001633DA9CD9675070B09690D04F386BFC9EE18BB44235CE8198C0B216E74B155CFEC61F84AA8FC7C10735B4A046F194E9CD2E5308A57E30433A3908412F278AC2596274A14E1F9E5BF5DB88D5B0DE52991B60740BF2B60C0F5780C00F288185FE295F21452DB0901DA833B1B83E7C606AAB8FE05089D401DE0EF341A517FFFB8A418B985474C98B41C7FF536E277950C01FF798D095F6B850B5721FA975EAF4F8D6171B2505AD8DB37C50A75636931D8564C2021754679B23AB3C04947048B9D8343B5412E3D10657BFCCF3BF5732A5DE04907B0B93842B61B431A98BDF61415873116BA0BFCD14C5F1374E589A01812395C8D74919A4BE8833989C06526BB214348755C2324F2D9FA06069910E6C6B8ABF13B0DF249258512A5B2756AD81780A3F80AAE49FDC176563B4D872CF6DE187D8C3B39FB0F9237FD7533048D17FB4239D1BC6C0786517BB487E9A6F26747EA6B8CCB970E0D0239D82A0D586D22C6C20C5AAB9D54908E888B37ECFD5A52AF8C0991D34588833CA94997946613D9DB39783C478B99C9285226ED1656A6BF9C19295A63FBE52823B0F28D531EDFB991C38A159114BEACD70791BDF4B6CF1F2DDBE3B744272016C5F80F0D1C9A74D5BA49D944484D87C282FCBE511C4A1D076211082C69D7051A385B57E4AC89C3CCC608B8BC0A96EF307048C19285785B9F1E58FA0DC704404BD63055F19ECB05068B6A2807B370A1BEFAC8DC01F03A9031D8CD3DE326A37D115EED06ABC598A182339A46E12D0974BDC2C801D1F40B85CD966860760397C59D2CBC6A7BBA4703951A4CDF023F7EA1BD5C8E1FEBDF850F02BD7EEC6BF3108B0C391C8272E87FB79A9DEE25148DACED8F04E7DB5E73A8185D6348188DC8C06E7BBABFD8850C301BADF9606B7804694433037787F72CCDD67BFEF5487FAB950C6C36B0F0C1E7072C17504C1D8D44F08162273C8B38B98D88B658E1FB4339B80576B60789487536B381AB41180608E16E36FBC9411CBECAC4740643B08E950EB02C6C502E1C75EC88BDC72877859CFE290580C8021193A36C1864C9D0CB6F5EB4397223D19D632F3C4B881BA94B1616A084E76C9C60DF57173A4B5953181761DE4366FB36C10C4A09970F0B102940613BB1F4837B14031006114F38931522D41D3F101F3C762EFDF56CF6128B059E3CBD8A4839D06C7E939A1BD662BE027B0C80D9D95AA90AB334CE96ECBDCA344D7752B8C55A946270A470690EBCD162FCB68F20F4EDE0D8771B5FFE6F06DF18971C894495D84276F383FAEA225DAB039D11200D761E9A22D685B5F61C31435996AD35073E0520DC24BF5E9665E028E42C8B1B1A9D2C1F8B3378252CBE2F4D848D50ACD7360D691421F9B50735A0858BEF1B29D09F96A4F79A9FD58D34' $sFileBin &= 'FF1AD6741DC13286C4ACEE40B6D89E6601D33984782860F0E2417776792E62C48373EB6C2E8C70175F01C1832006D2960132566C2C511B6A3644CEC313321A01852897BDA7C77E16F77F3C308B143987CCE78E19B1BF9F057628890D596AB5C6B3455B43891C09D99BACE18CFB1CD68BE8DC2C6561B60A2C8FE78B91B6D2D35138722491614BD93956241E2052ECC8581C8D1B911A940C8F1462F498FF8EBB677661160AC431409485409DE14E4640E6A38040295293363E2D466F5BAFB320356906B8641AED94D446790F6D0C48025A7290810FFD33DF96E954680EF2E244D893789B63E3E0A91C966C649CF07B934E0A04060C232E2D7428158295816E973376860E30E11B2F77D9C0344B484DB32D090A26D8D3D84A77E9884B86ACC560E07CC41BC4C6528BFE578039C7642C19784D3516801268847787AC4894C038954F950E2CC4864D85D0440B8636F1DFF63024142A7DD84129F8083B8D072956F850762A07697322A2FB676C3600F2384701751442120F94EA07EB221A13043A74EC4A9E2A94966D903DB12FADA4EDAE7738BA094121D9BD100D3219318E8BF80BBCB273C676FB57102A7E1EC7469B102B240254D0468D31F85C100139BA73D39BE0A17623DC7F890852E71CA3C2E9C83704BAC0301DC5B319C52F72E9B08B0F750362945231D231F0748D352E16AC295B0CFD5B1681C809CC90D2E68F8F7DEF2B0C53868911C7421C0079A0B2049D8D9901BDAA5493AC40957404DAA99B2D57AF853035E4E948A7850C47852786757B4213FCFEFC4EAC251B99843880EF7188153B8D3B8F86164C6D3D748D82DACA18007D1706017E07EA6305AB0C682DF02225050BC4E8318363D02F1476521CE707852041399C45B482137143650A73219951E258474F9D5CE78D526F5BD802DE6E7C93F8722BB4E6803CE17D0E3E890C82AB119DDC624E068F41748255F917952458BD1610D3131F91690C16185AE4D66CC9628988F0FA3B28418D42C248CE9549D2E1B516CF2F77E9E0597F036BF1636FE04DB4393BEB1D902B10CDB138EC02E93031E0FE0C6CAC592CE22D278B39600EF9D84F8B5C9F04DC5612182A8C7DA1F0D832BC33B2C2D876B688DD9CB888EB7A8B375F07186B67712AD177E3F871CA1859EAAC406176221E275E9B57293DB1566A34982C2D5A9F7083507A8D913D8F99852CF0CABF98CC3C9374750AA4346887AF85738D63791B3A55B0EA1B72FF040D9E4D17E447DCFE867EC1B63A7B74CB0689188633D0EAC09C9611911BC98FA6C26625D8010C9E071F082CAB54434D9C62D65481A648D4A378F15A8D28761F910BAD6F59ECC250ADDA685850DB8EC562370FC373594BD4F675AB271163443AC2443B7B0706B076420FFF4F3716597826D021BAD4198B2C5B6F05A4149DC6D16C6B7674CB14E8488DF408C3D86B775B18F63B5DB44AF0F9B831A1F6B35C7C9FC18271E1B94EDB17A3FE238C11C6AD4929F907040283C0C317670996068CD5AD487485CC64841B8B352C842105C8AF129D0B91CBB2852AE2DA945667C0C8A5EA1D9C96D9AE8D82859387C4188D14888E615DECC6B6C01521C833E01B8EDFB1E05C39AB2B8D1BD3FB7EF86D8F07886D34A85CE009BA8109AE913290B60C1F9E0517AFEB2F5AC8BD593B76F66BBC21A801C7D0AAA4664160D7D040DAC99444FF8CCF94819434F123F94ECE130287E7ACD7B6CE2B93F469A48B4305086690EF83422C046215C9A10EBC09BC92CF6BCA40040ACC50D0DBBC401688D5CF38F8FD92C06C08C98DCF904A6F9078016B7308F534D240D901108C425D9E6003A73695694790FA3CE4095C38697D14FF96D1389F473B7DBEDFE0F41285B0401F74E5E5B2CD6AF5D6F2F9FD80A77B011BFB130684C1C61366290877DBA408167BCC924CFE7CFE0A6CF508CC0C9EF1206AD6DC8A9F04FF09E2AC17635B133938FC5A1620D620946A54172DD19DD6F726431FB1710C9D2D95CE5A9A4F3358A525EACDA01EA1967BDF36830B077506F805F86A8E142830569CC2F9BB9E4B2F587307CC95F8468375C2D93E082ABD0A1976D8BB341F29FF422A1B244BC3B2B1509D2A551939E9F5668D74556B8490F14A469F9E7DCCE8F8C88725B495803508C604A7AFF37DA5F43985B0F00D48C3849186C22C269CF2D4C8D98B2ABDD9EED03B102906FF1A1E4DA7D8D2C3ECFDB9C307E9D4226D17F0BD11E1C1644A3A5B1FE8C7E8690C1E31883509D581F4260DC9FEC7D3398BB59069B98EC13699A4BFAA4221CABEF470CD5656BC0854BD9034E121BC01DFF5E37081188426CFBE9D948E21238D36F8CC03CE70408692843972DB13F1DA530BF0BC959524BD5284E3C8DCCBD27B4B4E10F78AAFD1844E115A02CAA5D0A78FB4CB5A10897AC833791A10A3876641FCFD6526956403481C7D01AE7E84FC394318730B0D904B7AD8D656F36A3472386F0718798C8B95D06BA0822CF36287D1330B2F439A4C200601614B020842BB07A76C30363F01ACBE271C607E2741F77E8657EE9B504389061188D7B1E032F7FA89FA11645B067182AA9864309B215A07B346501280C749538C9AD9EF8511FE5A241E0311396C7610334F96630731D2B4B8B80DDD19F166A44B83E90428C8C12B598D71E4F68B9514957295C4805FC06ADCD93D562996B5C6A547CCC17830CD31AA407B8AEC8CA3DCDB59818C0C0F83F71582C60C1B056345701A55D6B53D6DDCECDE88438C111009C59775D48C8FDC3B8238EC49386120442DDA235D76D4908CB0E1E886CC30BFA7E0EE64E8F0BED4DD3181A698A44A9F8D55C053948A5946AF75012BCC809161D4A1' $sFileBin &= '6291ADB4AE3C34A2AAFF0B189E763C24EBBD894DC06710805640452D901DA080148FCF40ADE254A620F55126E285E46843D10CC15D54F18D86021CB9887607EC2C89D92E34EE584842BFE811CF0F66C7B59FDF93EE0004098C2776E3B8048A009D00F1BAF69BF96C2C45B80C8C5E440794EE4CE5CE5E5C1C0B750B7697DA946BB3C535478A86986EB1E0FF74C1D3E239D37311C36604581D8076DB46431072F5202C0B2C9DC3B866174240A03F09E1BEDB76F44AEA80C3E6DADF80477EB37B6B0C2B7176ED16AB9E1DBAE1117C380A5A39992C2AF00F625590EADD989C252C29541829222750C2792002DF5C04A689D1498928872814598C98CDA4401308D05B5E4F1802BA8227475DF4428F5FC4837F93C9745A8B87DA908DD5C61B81B71E8F7C574858C4630BE9BC6887147412F7DEA760FC132C2413C70A2EB88238DAD3E37AB38AD64335BC23E8B343357809068CEB968751BCACDF31C9612C896037417F9000BD83E50274835C26AC1A77091F5DD0B7D339C277F25510040953F0201C46D1AB2B7805871742D2AE2B5E812C08CF43790A36008DEC0137F85B406B41496F571CB00B2605466385D2DDCE3A585F7405C24E1EBE9883078FF6F8CA2616BA84100DA8C50D2FFE7E6F38932D0C39BEA051849B5D4D08BB61A870A25013CC832D22025E0EE3E07BED411C450821A145113D1B65194D0C599685BD2E80CFC9537464482D010F08D24444C86ABC820BAA89D09E22EE0D7B85901C541FC61488BD151174D9051C951CB663377141BB899D8B56CA8E50880DB011B8F9340F97FFD04498651981483B45F072772A042C10817FEBEAA0FB895F8D5E205E10B9149E0972B3F30D2AD591DB4DAA8A978F7C7249227E6DC763035E185A337EB8DC968CBC65DB3F4C2173E609DB40CC8BE8A39EECCDCBBBB90DD41329C8FC5C75817E55F620269EB281906D78E56D9CFB7FDEFE841A06B4E1824C01432C2FBA204323BF2E2F88ADB5E6203F0E2B11059B905D9714085D9F415CB934B56F837203F011102B5522446C36B3350C0F14C390689388937F451482BB15E90BDAEE1C8B105778FF280CA0C143EC8D833B2341AFAB72837AD0754DA04AA70C1E7EC7F80D24EA81EFAC501C162D6283E603766E8803C7DA205AA7912C06D00238B24F109C8058BC059A09C74611CA109D2DA1562DB905B0ACC9A189D8067659444DB66F24C2B5AD234820EDB834815A368F4E357E4D12D893755929925B729715BF2CFD9DD8301CA88560444A141C446FEB1AAFE90214E447DDA1EA68FD00876607F47C5AA222A787B6756E2A5A311C3D2A46797BF0F8C99F3001564D1C8DF1B59845D27C1B01B534D69BFF8C4F1D69C26D8677AFB9302B29D88901DAAEE00132F4AC270BE4B8F154C71B46A902437A6DA045E573EDEB88BF8DC181F881D1D0437595140F888428E82F7703ADD9E00F7EF3E37765C71E0ECA5E868F451C903B20C3893FCE2581C4A559157B506E671551BCB314AB5CB5F8EE50DA31755F9E0A9E5585FF74D66105012BD1CE2CA2695A200C10F13F8A500CCA7FFF17EC211577808ABB0A19446C8DCD4848D440EF0381E151CE02F0F1EB8DE2085647538B9A3283390F7C542F5168C701FF82E28BE00D8DD4B298C1806604C00282013D7C7A1ABE83BA0B2807101B069EAF88D1AB9032D16E62ECA50A27B11E7EE5FD47DFC0F9E60CD5D0E8884417019BD86042E17EEB8396ACDBA3F038A9EF3070524A703696F475104F61E870B271EB7C118B065BF4F0666DA7EA85C3082825BECA572A9D0610D10C416A5F93893D8D4315D104B05043C2BF06A24CC8D22906F43099463AA4BF38D72CEC20D8CE30F83C1C81C68AE70C4F57742A65AC5503F055BC5E0B260AB4E76401CD3008FCC57DB191545F3AA10892E6F3ECC24146DC75BE1CA49B6C6F20D9D618DD14839C6CE710420C084749AA76B56C403348361FAA2E44971040488F483D0675A3EE8777788B3A4B245F1B61F8873F43388B73145422C8B6D6C1F639D0726310308E17065B7B5503BAD0F83229F834D5BA9BA1343B18EB031329377794A35A47787E48EB20FDB6B51955DA42C82C3B4DEC73054BD4D8A00B69F82C848888DA97E804314169FF75E089719FAC0B41707CEB993F688B702406AA89788730EC94201CB80DDF523078216DFBA05E92855E0A7B29185191B5A5D8B6597DDA8E76E3161CD916DABB915DB4301C9FB836F00AED585788B08B4934F1BB6E893AD0A880044D1BF6DB76AF3C9724494017D83640441AA120D4F5D48B4AAFD0554F36B46CDD194917CC044C8B0ADB5608D81CC86E3D2813C4772B7000A0D07DAC4F49AAEDC25996791C80A8CFC476CBB575348FED21F30AE4B726477D5F818B374639A40FDB856FFFB7107714C165A8083CACC1E7081A014152AC54FB26E00945A8E40B0FAFC2390AED553DB1FEE904C7424C5BD52B144A4946D095BA7DF481C66C0E22035F900B8A6D6BADBDEFA474414292249E5574DEDAB6F675C021DABC59B80FBC518D44330C259A5B070D089183CD54DB098F19C4998C42BF4D82028992837DE0060FD7F68D858BBDFDBB75EBD38388B5C6C7AC7875BD00A5EA5B72044A01C910856AB675585C68A4D3D1B2ED64B04ECE7506E475CEEDD7DD1E72B4290429C734894F29C24C047AD66E358D4C7A4E76B11F7189AE0D6CBDC0721A426D6BBBEE6B0C555BE0FFEC49B85E015A087629A1604439BBE219D55A1508178586D30261E603925DE5C0B0BDB9059A897B1C51B0141C85F6044373181447FCAD5158004953E8120B354C868E34F3395C1A18BC6DDBB2202CD01A3C0E' $sFileBin &= '400B44720348558372FED872D443F5E348BC407224C37F7AB606779A7A183BF90B7E4297A5705167D2A52E3D122DB17510A90A4BF0A74822046BE90B0468F51DA1150C111AE61D5A5C1668C030E690E02F56964A701765918031687784606CEEFE0458C90C3BBF029ADE1648813FA705D6D1863D3160DE8E115619503900CA05111786F1B259E3041CCB1304657A006C63022B7966636123BA1F8242B049367ED35101CBB0395DB0734F42B09241AE9271B1B073AF5DE0713D3601294E1E0471331B5BDE98CCB03386D38AC1B747C40CF80376058653CD5AE4E4CB711DB2A1746299600D5A5A6203037330015C1BD3D239C281BEF95B620311B003205D70E082064DC307C114E2A7047301F695C9CFA604195D4A0343895D9B90964CA7AF724A1900B9AC5D9573401420AF00D90561E329E4720583EE40F303EF04D0E263A899F27A56F9ADA2148CCE0283FA0DD468C73AC6DAB89401F8E4D31D03DCADB5813644055E17627F807DD30BEB1DD16594AA5A01DB497493B10F8451D9587713AD4591C03244B3EA06D4E182A43AA75833CCB7BEFB8D5C1B016509D64975AF69D48D5E01960C38D8F4DC73C913D4725B9BD8F6D8F25DDCC9119A8B3B5ED94FB408CD1319C0D7C9540962FD6740DAD5ADBE71B002A4B83975E8F5F204F0128D582BF81239C3766E57CB5599CED729C1070DBE09032B7D45BC01C1018B2DA8356DF2191E3B0D3075B7AD18AAFBCE7EC0019FB82CABAD2D0B1A2133C67FE212F0466F1688022975F5B675CDED3F52AC247258DC6689E2652A07B75F73065C5B54838EB0C9B95746140D42F817D1E59C2A55A0EB244C6D02FF61C9AB03F7D621759CEF85DBB6D0A219690DA0479C5C9CF82D362CA06E21DE2601C88D1C424C254C5865136E6A99B0DB83814E6613EB14DD22B295F7913E0B558332BD521EFCEF16EE2A299862F53E2C5B024DBCBECC0EF04E430517CBC1315511456E954DBA5858E0BB57168ADBAE013D29D654C1EEF1168632D2196054E0B86A74948706DFC05D25C0A1A1A34C0FE800DD88CB47DB6162410B1707890D1AC7B230CBFE0B7F1331094709320025129FE2252263F7C34BA68DE0615C724D11E05102212307C00CAB0008456CAE1C8CC8554286C140D8554D2690D70148071183D5B05264CAE07372CDB0407938DCCC750275D80E0BFD64577E30E8680AED4CCE608F4F37B210D0BBA7F9E83355B7F081C1D5A92B6402D9FD15582CB4499FB0A66402E4C83BC8D839DA46D48AD86F655397617D66C8ABE017A043E95D916E3B912555D0EBBFBAE2C6269703A611410D1646801C2DD5446ABCF8D8B841D03DDBC14BE7FA453A94B96E2475BADBB23B7165AC70541B4E6D6C23E3154F99411B71850C64874E370378272E794EB8BEB01DAD0A7C919A1C221001889421D782EF3635A432217D0CC648FB6690CA55FA87426BBE2990D1EF297DA8ABB7B619F7541FF6697001218DDE82055A0D83CB15C1E60421070B0E12FE44F30E0029F7398993460FA12F96031953E4B90E49383708EA83431530023900724BE300ECC0C0D47682484A2D01D8A9737D4691524B8C909372FF711AA306E635F98FCA6D820362357159CFE30E6109735D8704E64BE4C076079F2256C61E02D3E432A67F05B9CBC877163628015390413403EC921C081A570F90317BEA694148F643F0430A890F1819CF6F3430B14075506D70A2207540894D004B081079436D22684B74531B8259B050DC0057D53C4B2C3982C6AE418821CA088D3C74061C40658B9A4B0C388142B42BAB7BEC6118695939F028EAF05A41B0CFA06500F009C78678361EA14662C139C74410C6804BD002E76C81C22D157061DA04FEC2A7DE0C8A1FBF4B04637DC00560037F0BBF43249E60096E9C4DC49903BD14B441800D1848DA2B17B8E50702D8DC837DE46B4BD0D4E1533EEB109F82C60A168E4405775424DC9A87FD9DF1C553771EBEE5045D5FE61E491CBFB872BB8D6785168554F7348648767B0B4BA8B79F0AE06C5717CA213C770F19556D731244A31A048A22C10E2A607F95C43404D34B425F565160840FF07357FB8C58804663013D3758E12E32D85CC62FD860653A7902E3DCDCC84E080F0B7721A1738ADE70C8C836598FCCDCE1B0DD115B5C020412D0674C051E260CCF4F3B970F63B0C3734243F51D089B039003612548C2C68781DD4172BEEBF0CC88C2109586B9034F5E896A941EE8AD48BDDA443527958410BB6D6BEDCCE0870D7E82253F234A5E209C40D113033B84DF1BBA848CEBB4295D3AA695B9665D5C4E3A58369423C2598AAF996B90FDA201712C5D587589D63E4B374B39C205404B28D2C056D1688DA516AA66569A70D0182208C7BDA5DE363A189008D4C1F7D2210F6A0CCEE8817DD41FB9C0D8049B30517E2B3121DA09933D2AC8D5D9486195E022793902A0C3E5D8C4EBDB6177EB9725E198CD885966523CBC91FDE266957725FF8C160F4C642DC4F965729835D78E2A4DE826EC55DD908CECB950E05C070F3DA0216B462839EE3A3C3CD76A12A1625C3CEF61AFE9CF5BDCB2594B02A88B0C33613AB3D6A21CC8C8A901089C4C1E48CF765A07795B75D919B05FF37676ED8229B21793BDEBE943A293CE41C6991F7779E3D08C9AC40CB9B6DA420E19DFFBB588D3FB47D8901D5D0075A9295CEFC2F782440CED8601EB87372A4C5F588283EA407101A600D70F42E18A8ED1D248588E3A88D9745094DED683C80270A0E8499A010B68414B8D60980D9D0B83FDFAB141C6603D5077197A8BAD381B4DD2C186BBAFCCA8E12C45F734D0FEC39266DBC1AD5A0E96FB5DE5' $sFileBin &= 'A164AFE02D135D057B57A0DD5ED1EED2621F4821F0418B37B750FAC9B940639000FB24824FC36D4D5E24EFEDFD48B52F85C9C7404CD4068C88CFC84800587415AA55AAB32524505D2C82605B46070D8F8782070425742605B8082259BB3002BE289154B289E251705EECB6CF562253255FFD609C81E0B9F15FE23C8A1B1A2976759D1C817E5588CE66492001A03A824F7C7690CB484CD99C2BE256C696F00A6702912D24E0725058773C0FF1835017F675E5108844165C1405F702F08946587D5AC0E7D94A103B9F5676D3FBF76E2F59807A5C6B855A14840883C65C3C5E60E97656010346024F18A01009C2B04164EB0B030808344191118E45E6414C4441BB5FB46A1A7A7531F6D739507A1325FA24722C89C19BD60B8B7920667BAC236241601885F60A26BBD3354155DDEBBE758B595A823680508C5BA6106B100F14A0DC49ED9D6854F786970536070E4AA7882DE0D08C4F9F516EEE02252E9072F5378644014E4ECE4640063C383477B02ACEA25052425877CAF048C08A467DF0132B091C408DAF11FD36E806501409DA5AECAA0FB1DA21599E478956FBFD286705D4E3495C3F2E01B209E0823B7D20CF4118677033DC62069D1029CE63817A869F638BC32544CC25412005957B17800950C7069440E2102A4E16F6316C5BA18DFD13BB87C0933BB00434A0DFB72A9C0158C04BE10346872F340537EF43473688D383FB13DC26EA7DB1C0297A75E0C9C1B9CAC5136B7F5D8C84EB00BE59588D715C886116073BDB462F71C534C3756EB98D6A1F5570B9F703C452DBEE36A37FA412013E01D4295A1AADC7F769976158C3512D34AD3AB4D7CEFD04C8A0EC8FA8A37E1E83909CF2E05BB72DD557CCA56ACD0283857B748B90B9B584702B0202F7F1C35C430DFDCA6C317C857A9042D8756CFC5424968CDD7889A1EB8A6C02AE7DB3114504990D14B009373828DC623B4D272A83C05CDE90280CAFFDBCB6B5179E761C01580130458E033D7BA6574A6F966D6046000329E2750F6D816233FF38180D12839B196A0255C90B2E0A9F11B163D85FD089D34772D4DD178539F87206688D1C3EFECE51A5ADCB8DAAD70A8E6010B80C83612267EA0815525F6C946060A3B58D36011E843EEC26E06F0FB7AD582429F301D6FEB8DFE9DC29DF36320CCF015D4B084A9B7676E80149753F32ED53406BEEFF04977525298DB7B17A430624492839D6867CA559A75DAB9F9CB64CC3260B2805B0E80A8B602001AF0A930057EF5D773D736350B4D2FF52F90C4014A65AD8815B0F2F8B432D39B0142B140F118C248AFFC40720217CD6641CF690001793D1EBA396776372816FB804990456925B9FE25753DD8692D942029A4ACBF7EA9E01C10C03AC080418BD89A5289D0FEC6F894E0CD0D8FEEE422E1A80FBE0775B6608D3F62CD48003B4063C01DE622B2AC088089688C8C0B6AD7DD70D1DD100C828C306E2062695E2063079012889C2FA25778374C0EA7663460888D0C05CB4759BA1D02873C10E04FE848623D8ECB986BA1FACD305B1AF18D9A91E4244F18B328C786D347101F1794B2BB0E548C37F2984053973547427897C111CA01D613B3C2478365617891C95023EA41F107402E5C89545D056D0DF28334270F28D5DE8443F1C49089ABE57AC790A3BD743221EA16D656C22E14C7454E3AE068AD934B76CCEA3EE05F40C33E8B1322414BF386F02BB8CA0D8681475B50612C5F4FF2AD064CEDF7976E27F637FC119B4270A5E28741989FA1B64BB66708F4C252B04201D29899191672BA1D8DCE011869D91E4F4614C201CA49334B8EB667E9F72EF7B7C81ECB862B914AF9F8886446772C23EAD0CC58B589989925BAC42F1D91306763501189CED04F0288DAC0F88219F8D01BF1CFD18891485A4A0E665DC104FB38876B23D08894DF621010FD645A0223C893E1D304940D720100C210896F58E059B8D853AF2BEE904B45569BB24833A03749625FBBAC49CCB02A38EBF33F73A5AD8898F8CBBD6EBCDC09DBBB090008B2DB70333C0B58DE24D7F683CFF152310117B6427107CC31F8B4CFD89C8D09A8CD4055AFD8BB57651520301341A1C508901ECC93AD87B682C0DC35F6AFF5021275D617614C30F765F06508C2DBB7C2E8C04C38F13CCD63DD09A13F9068212446DC25F77183B07203C5EC3A99A860E2C6B09CF8FA9D84D446B149629C050519FC9205B371C1A049F02045BBEBB2D5E4C186A015119FC0C4DDB7D832DBF0091693408C32F37394A2E005CEFB6646C6C08518120EC4C2FC20A996C1F2425C5DC48481F0FEF590239CC73E8284F64ECBF770C1F33508B0251507900BFF796AD2FEFD3EF6A1CD9F91C20016A4CAF4BC0C647558BEC0E6816808FF4877704977064A1C15064892587EC085349140BF1565789651BFC7C141EB9B39F2C1096D58D7FB652332C0D5F5E5B8BE5D6C55E2C18A633220F8041B29425AFCF8D9841C74C5406C2D088250706DC3061108D316F5DB27FA338B429A60C5DB4AF8A30112B844DC13650F4FE29C83FA42985152CDB500802040CCFBAADE3B28F38D96089680659B6BF6E0D343F53043F0329D1093053DB680B5043FCD050FF169B8B7845F874395D11348463130AD7F819AF391FE6DAD66D6DF8D71E330C2E4215077E89AD1EC1083B434476B4CF8423D566D5E242EBF10F278813312F14A2EED5DA53406439827AD07BDBC92F374330720A408C16B19DEC6C034766EF4A30F23C29476F0B370A3D3B4244EE04E16BB397FF1F1BDC0D15C119DC0E392173065F5D002D017E306BACCF9E6C119E6DC7468606202C2023B70344B01B48044C1C817827' $sFileBin &= '5406CFDAB94049C04015FFFEFF02B076E2644AF7D281E22083B8ED31C24979EB96A58017339E6C43D300CE2F524227D51FEFE2203990202008B42F5C790374B8F6F084C06C915DED6D3C198B2C01E86780E61C908F1DBC8F1CC9D38186D0186337C452817F78F9D1E9128023C3036D0F2F98146F454194EDADF0C58D8C087A08DE5D68AD8838A38C01F21B53448D34C2AF231ABD4CD70D41733CC82DD68AF8488D7701B63FBDE04BC5915CF9026D74328D576C835CBD2B47B80206EEF7E5E40408D1EA81CA3781FA83E9EEFE96010B515328423D7607814904A149F3EC030B00010418A5D61C819E097C7BB12D50A97B8FFD603860B811B4A1B904735006020140ABD8BAD764AB02F5048E9A3A2755F1DCC1019AEA71F291C716F11EC1B73D8D0CB5B583E0BB01DDC8A639DA96008A205B28E696B8595B363B825314019A6B2493246F099BCA05D6C96DCDA6D90F3D8817773C741C5BE81D0C878622AF10016EAF237C89247FC6FE00B1EC97C5D06D6C31C95B82BBC2EF5FFA740723616E51BA37D929E6CF098E4CC212302E8C8AFF0C212816C045AD9904E8AD36E5BF4FF3F75BC239DA04DD78A9A7D38B790E414444B7412C4DF2CD0BE2094DB66123A102201D1C22DA96C00C8E10F91E78C29D61605E8B56E3667A48C5A31F014B60E132963A731AB120DFC730D4854854D14077F348D17698C62309681CF06B89CE38AD18394304DAB9229E30AC5A1ED76F8CC409D1C8EF1F100389762F855339F275731D2F4FB7CDFD049139D8770E9508421F72EF6E2979A870BFD80DEBF096FF18DA58DAD1D483786D7440466DBF5DCE2D465E042B394644742F0C183D723CB407145FF84F9F96D5599A8EFB14568F2650CC166172FE818EB5451BC2EBBCFF58588B5660F0B316167C647A4BE681E300FC5E562FD9F74620706CB46B8C25D483EC5070C02CEBB19F01682C22AF08E170D8000D5E3C8205A276D45F494E29F9828490DE535CEAAC4DE68387280C29DD5E60098FCB0F8D1487181476CC06BBD64118930C8B3A33248F5D468A4C2475B70E023803F70D76C675AD18135F452502221EB5B7FF06423B55F075EE393073898904536EB476A839073B0141FFA339FA8F26F083C204397310EE0B16D07361FF20C14F900986359F55450DE843D9724F808256FCE9B76DD18D58049EA08D98D07B0673247FE30D1AD375DFF3837DFD746E3B5D2073FB5670A66945CBBA0C1C8D3CC2D8EE9A6BB04D201B090757E429D91C758BD8A8E8E076034B77A65E2217B60C329BC73238C16DEBA8DB7465037349C775634F6CE5DCAEDC4DECE2077F04676DC8B9932DB80C6D759224D4B20D12CC07C728D114D6B5F7600F6131B27D02366CAAF6338B07B9FB726C2B0874C20BAD1D3A79883D0A74453785A5CAF62C73512E2C4B432CE0D6B9ED1683C67C06042889127449F175BB86405DA40C02351A44BFBFDD73CEBFB740474475BB5675EB9E6D10764A72B59F5D35751AC2042DF6233584C856DFD6D0A18F47620113FDAF513C2B064F4D101E4C90E35923AC7A506A51C150378A131B06638CBADC614F0629F1C78E8556C57E6A607365598E051CCB55C8546EC25741C3E1965DD809746E3BCE0E4B1B3B7BB619578845DADD9A80DB7A3806746C04733F0DB70005646B4FA64139C25D808D7D7604756A91A83DAC666975960F7BD03262C276377A02D7ED8043C05B75E8E416C7ED3D0E3BE473EE8FC66B787BA51CED751D4187AFDC49D837AC0BAA01AB02441B7691916D74E4A01C5D44743CB6A2A6846FC29640D6E2522BFDD304407AA33D8BD6E04204693E5770AC4B07F2153F387715FE61C027E80177168C74EC4E5775036A674F206427D78136031314C0D52A62D40CA9085B966E1BD9BF2420152C061C18C91F60691814CB4724895C49D107B83526F023BB7BD73D723CFF27C341FF0729C321C1FB02B74280966547470F704BE8E6DEA2C315EBE81F68854C60CF02A917BBB551025302CCD8CDA290DB6087D6CAE51000201376E7DF02141F1A63FF4C4B4610E6E0E34F40E80F86E5E83E0EC18BC834DB07C4578673103F0C71E1FF74CA4702D44D206A90C6EC310CF1776FFD56282104202B1C8A8B8C82B7B1B716B9B9A02DE4899C0F76BCDF05561C828B4E18BBF87176122E754B1CAB66C26638E7848E586A6A1EEF5C5D890C839A0F261A45F58AEFF21CC920CBC98B46467C4670885FB863135DE8E81176CBF3F5467D062229FBF5C846599646461DF44C72115AD4668BC5102D1F040B64BD70DA059468674F3B51D16F4DC3681C0F173BA9750743EBDC73BB421975F1FFCAC5AF4812DE26F7B4891A1008E30E774EBB6C72F2C5B0BE100CB7F740B8E846DF94E4B67158736673BC13B4AC0A5A16EC8B234BB29910CDD2B0045FBF7D4703B1B69A23F5011708E075282C978512C2415C97D813978D23947FC25DD8A551E208D8721B9731B7F2D7DC23A34FD32CDC584244AE89CED00557C2DB87CB57349AC675F0172BB49AC811B1ED21CF04448C06118ADBCB38A9225DE436500582DF8CB22531F63D0FA99ABA6239576BB581741BCF43ECA539C076168B9CFA015DE8A2184596D1BFA29DA0417725E72259784368A2037FCF820B4BFCE52EEE041E5CB0F862854E4EC67A212414100C0F001F742EE07447B55C1B0975251320432CB6601882EDE365786FE7607A84393629CA79AA07314696C835F0C4EC080DAF44480E09ADBE9A388C6F3C7929836E7705BB03CE4D8397C8EACBB1C1AABA1E3DAC57C8C475E4C067062CE7A4AAC775221903560990C71BD12717C66B95CFF8DC0907C50C7C' $sFileBin &= '9087E45AA9C46D4863B2046DC3DD12E0C3FAB04CFAF0EBB56FC8858C115F3CCB32944C059333170F915C9D7567FF931C87860E2A57D1E4AEDEC864343836971F39E99531AB857F3CC33D989047C9577B891C13198F1109B22FDA4D8E17932C4C552B35A3E102C9716CA43835C983900B3C7BAC0A89B32B8F7C132F6A16FA9696178B5F20E64800AEB5152C7BAC5485AF12EDC483317034F32EA38473C88B1C0E25B420B807050D9E096104B20807FFD283EDCC1C3BEB0AC64E74750ECBC1363101CC76EBC342010A086CE62261B3A3D8032CC7118975978B0CAA133C4E75900FDF63C860239F0E89AD3CDF6181B6A302E79C2797D050E002645CD957654B70BC67B3839223EC248090AF2CA29D01B9B1EC96949066E97E0252872C0C75B0530FAE0254795BBCAAE75794B26A8121912D27F081C9F5D100B96C4CC9ECCC362C1617CD0D5E04B285A40FDF2C3AB31C72D103E8C21138DA062498C2EE2822671B904F9B55F0CAEEECC39148129D9B21D8B42B532436F28386ED3A6BEF32B68C93F8550C932A1512E40A84581F05E8C09B900B3F380D6D8EB0203FFF0CEB7FB26C9B0A5FDF7728E81040BD9535CD4CC80FE7DF7021C9B6EBDAE220D50421F8101BBBE8B481E29406D59499D3916847E614811F3934906C129FBEDD17B44042B017D123FF724BC4A58A287F1027798DD81D66BD851575EA6116064D58E3D41FA45E99CBBF4C9FD252276D8F438915743BF2D56F60A60E3491CF918F0B98A77B8E8C1F1205B04047326088EED80DB04093BF45B850E5701A311600BE6B59059BADD9080880060C50757E506D2868077AE02F811097823E292F8B52482E741839566805A60421788023C79C19805F1275107D44478E95E00F76C07F30411503827F5FC9C9D9907B1006141881CEC9C91C2024DFA8C8570B5E10FB150DEAD96E4B495E1809EA9C6C6F0422060C08F2CDE24FBF69AC8D461CF80A1459BECD0D8C1D383015CC24C5D99E3D6A7C3397545A2CE622552F8D8D65F89F2D1D62EED70E5AFF781946202669010CC0CE3D6C48501D80907F9616006E27E07EDC5E489D74E5B6AAA5F4041D6DCF7425800F13562CA35D20C161CB0C7E6BD5CCB0A27EBB5D433B9174298D7E24EF9E2D3B1B3C898B332875E52A21C5D957040FD9649BB0FF46EC04E32DB04DBCC19A841DBFB614DBCE353E46108214B854094DB667DD28067D8269DC4D18C9205CF20A1C20388C482B6B718CC48C557136778AC786BC08604F168E0375349510689C0764B9ECD8BC7C7483C24E2821E9C106CF968CEBC2AFE06A5950BF71A22BC0CB9058F94E11C23F96B9A7930F4330BE0CFC217BD65D9C24178284AC2CBAC318E1C743286F437D7CBAD3409601D90E18C41C0EB03968B56F1220DEA2C569CE16EC9EF5A10DD876391C24188563D367B3C01472B823109D119427685C730308D98FE02672859BFF8480D88932466F180474B07C1C7585F875A3F1EB2EB489CF6280569789433BC641C72B9A8037F72B3C905138B475CD1140C70A7F4E930D56BC799775D0A3664F0CCDD1B33C4D5D40CA319EF80F9420BF0133148789DF8E4161BB131786EC43905C142161B0618D0CECBEFB5FDE480EE404485D6CEE1FC45826418B04874D680514D09682202B52EBDA12DD570783C74089091E4367B294141CB6588FCF6CD902B94971D8316400E410B58F5F35240F3C95080552C4224CC481C257AF6EC63A13A2164010DC83C25C0931762B75055810E45F10CCEA80B71436AF5E41C0A00C36C283805BC17A08B4858D3CDB3DA8E50C85D66FB078459AA321D19AB2598C86E8F547E239ECA4C548F4DC0D0A7E4CDDB013353AC37B11A029B0DE7705DD291A299A18516399C3C65A1742140DF0106C089E8C84734C65F402AE8020C8A5622AEE3A1B8E8C093DFFDF44CD229A70994E746B512D8F5EA4058AF814A96FFFF6E707C1E70F7701CFC707F7DFB6686B0C3248DB4F138D5B0181C06B00E0FBFE1FF5BB06135F6D2D2514386C138D728D18790869285C904713C251B46BBB019B1BDC068A1DFF9074011F586DA95CF4EE1EA3CDF70CDA746C65887C4F5E58B1E801B144299A588D076FD6BDA05C40505D92766E16BD60C9653E894316800F39108A424811C085A4EFB0238C595BBF93F06C40BE04285B830187871B9B8370C48B0A2ED085124B0BE00D7983FC425D24000A1A0300177AE5EF8993088D5002173881045246C36C1B04F47F40538029DF1D4060300238CAB786B5F619F1A9C301C0291F11B45534E23FC20539CB5EAB6A773E61AF7D67407432FC3D867C39BEBD6FA108ECAAA9964AC6D88BBE14D1A2D771D6964A93ABF8ADC0BB48FB8B8E1C014F4AC018F1770397895EDEE66E85221A73031F4E203F2C59EBA8F3D4161585B6A02F1AE6F9E4F7FF4E76F3DC6ED90018EB2090150E0102DC6BC39C684AA25D19A219B8DB7C0986280D34454D485E24F3016FFB07201124264ED4AAB3353E7C4C481708DCB3456CE1F947721055F0BD08B61F8B2B0C90B7406C0A42BCE26CD29FA2B2D55699EDC1BD01E0BA919A92862A13C240C361667ACCBC100F824A1AA22148803B3C8B9E30AB4F106DED843EF84946F03D8A98DBEEDC399D28E987ADCB44A02755AA964E8133B709205465FEEBAC05235C9C0A8164B64EBAA54AEB9E808A90BEC2E157C418B901F8F2FB555C88303B2872FBFD028F5A3063618B10575D9D1D888B4C41914A18D9B316DB9575DE772081D08C3F2F407504606F16BEEE377DF402470F3E3083E33FC1E31098A2D70ED201C3648A9C6AB1A29ADDB641BF87775E2B86A243C2492F' $sFileBin &= '580F59685991B747EBA89366C266861F5A00753D2161492989D36DC097553322D8029F292037A8083F2F8D63EA5B26487F7B408D5F2C17A66A3B3C474405288FE021874004B6ECEB2A81461385FAFC32881598C5522CEA46E1DD96ACD6AC17892908F7CF01EB8750E973488D8726E0B02D8BEC7E568F0F472B580F1F5116B19533FAAC5783C32C78822212AFAB1920E90ADF09C1BB8C9F833086205601227B80328A0987876F6F3BB4ACE7080CB74390A2DAA159674E1B08921D10F2EB943FAA428F3D8825881CC9172EA20D8C8F0E4143C133456B6F5F430E966478FE368DFC4BC01B087FC1188700EF5BAC7889A45720BA05CFA20D16782440026F3F0086D736846920D3566DD98A32366D20C603825CC48311460B442457E157FFF7050F0E7C6904C9E6706B3859577422ADBA078F30151C5E9D90BEBCC50061F86CFE857437B56C20279397441C8A3FD8007774D6A6E347398FB9F2DD7014A2A7BB40505C8DE0C5BE6450554F36008784046F2F1D8EC1E16190198BB3004E01C4C0172D3B24F192FA06088E6FFCECCE02B680792096402313502A0596E0138DC041D8B951EDD4458D89AC830E08195946961C0C481004D946B6671406101814081C0365641918202C67503029809E03DA63E12FC52C7EB3EF842209C40FE3F1501D5A7E28682039D3C1546BF081A74859C1E3A08A3FC42692F1ED793C43746696260A5A363F0EFBF44D14825C30817B10FEBF243ED110F70C345308316958C15BFC770A59661C839871A45B913CEF8F0E8260296F06125BA968587F405A6F31D8B35A4B917C159057865506BFBBB51B811CB9254932502F8DB65F7D308B5818C75024360E96DC101D9746048A8625388B0C83D0880D6E8E833BD872175DFD12B07BCA6E29DA380416EFF8132A352429EF3F17A92E531A904823232480993928254F6CCFB972148F89988948B354B76D11789140891E20561E550A5C9890234A80213EA9FC149925083D3B294C4388BC063C990EDCCDD5FB39FEBC720DAE50182AD3DB29F9AC0E7449AFF5F625CC5482B52455D1216A80CCFA37102102BA43105A2BF096EAAA6A6AC710022B0451E0005810F3FDCF41D797D01848C79B38440E0274199DDBDC8B3BFC693E086C4172A15850899003B899728D2CFA08EB84EF4A1A86165D518B57EF292A01B0F025F18B31FF4F6FC17B296A6F25320189173B178B010FCDED169A7F040309C3040C095E7829700771E5FF47C6F0FF07A126A400BF0C3F6D0168DB02574401132AB889566E4C44101147D6754F1B0FD58D398D42CD478E0F660DAB60414A84E46A84A17E8B1D1B45A22A1F94E2C6B7FD9873291D2A29C65BC1FE8FF031F2B987B9AE3453043734D0C24B081DC2CFB549FB172BB8064B0907EE0275E795102CEB74EBA29F5DA5B67DC9D733EB1BFF4B5C43498B5AA02EB4FFFB1B01CA114EA44B4B44649F3B5975E0027A81B537272F2A75D5C0215E412F175F58962D259F705D463791A569038856050F47579C0AC056105E08055D17C45B8D13FF4610D4062C8B7E03BAC53C82CB404BBC742F3B460C0AD4842E315658B4C85CF71658B6294C04342E7A76487175D18D34BEEBC427CD944DFF8F554657273D014D0B880AD1055641051C9310A502D98A469BAD21F2B68801B20C99AD0CC8612F25CF02982EAD0A12C95A9FCC95EE3855B3DCFE9080C71555D100B8069220FD5DA266FBD091F0060CE06B74342068D0AE0B98942097DB881DDCCE4954AB87B0C70508210CB0C07283250AA3B86C5D3FD0291495E0D00BB23BC49B2286901B591238F694E04C93D04F3965B625DF4028E0445064EC56F1FFFF88A050054C64646464480C0804766C2C7640CC000B3405380000005B5104031162A62007322403C80A00082403C8400B00ADB24032093FD334CD950B010203042FB0254D0506330203419EB3ED0405060207000A0040A0BB99FF056AF103F7540564290811A00A1905FEFF97675CA00152656C6561736553656D6170686F7265DBF67F5B4C0F7665437269746963616C1763076FEBA6E4B76E15456E746572443D742C00DAB62B47144C5474F66DBB3DF20D57611E460853696E672DDAB737F74F626A2514436C6F7548616E64126D6BDBE60C776146457664413D96EC8B95530A9C730B236E6E976CA727496E7675697AF634DBC880DE694866296BDBB6B95F336C6E630770274AB1FFE76C661E345F6578636570745F6888EEAEDDDC72332A606D6F711A6265672D673CD6BA6876642518637079B28F6FDBFFFF0757076DF09A17F03505F0F902F06901F0D402050B7204196DEDFFFF35F0B90261BBF00705D1F0D302ECF0B101C2181C193DFDFFFFB61F6228FE03F0B31C3522453982204733730528F08B170709FDF6DFDD011B070C05F0340D65F03F06070A0D0D090D070F4BFF63BF0210050D0D06000C06F00C0A040050453D4CCDFF43FE010300448DAF4BE0000E210B01050C0098081B699A27801110B0100B6E166C19020433070CC0CEDC92D01E341007CB66E9D906A0B3D66E8CB15040B21C24C0F01706B26EA7581E2EF9787436B0C176077C979098C40267DBF87220602E726424611B0E7317D27DFB06279C40022763939B636510B32A01FCA2CDED376527421B34B2103EC1B7000000700400240000FF00000000000000000000000000807C2408010F85B901000060BE009000108DBE0080FFFF57EB109090909090908A064688074701DB75078B1E83EEFC11DB72EDB80100000001DB75078B1E83EEFC11DB11C001DB73EF75098B1E83EEFC11DB73E431C983E803720DC1E0088A' $sFileBin &= '064683F0FF747489C501DB75078B1E83EEFC11DB11C901DB75078B1E83EEFC11DB11C975204101DB75078B1E83EEFC11DB11C901DB73EF75098B1E83EEFC11DB73E483C10281FD00F3FFFF83D1018D142F83FDFC760F8A02428807474975F7E963FFFFFF908B0283C204890783C70483E90477F101CFE94CFFFFFF5E89F7B9D40100008A07472CE83C0177F7803F0375F28B078A5F0466C1E808C1C01086C429F880EBE801F0890783C70588D8E2D98DBE00C000008B0709C0743C8B5F048D843000E0000001F35083C708FF963CE00000958A074708C074DC89F95748F2AE55FF9640E0000009C07407890383C304EBE16131C0C20C0083C7048D5EFC31C08A074709C074223CEF771101C38B0386C4C1C01086C401F08903EBE2240FC1E010668B0783C702EBE28BAE44E000008DBE00F0FFFFBB0010000050546A045357FFD58D87EF01000080207F8060287F585054505357FFD558618D4424806A0039C475FA83EC80E9272EFFFF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005CF000003CF0000000000000000000000000000069F0000054F00000000000000000000000000000000000000000000074F0000082F0000092F00000A2F00000B0F0000000000000BEF00000000000004B45524E454C33322E444C4C006D73766372742E646C6C0000004C6F61644C69627261727941000047657450726F634164647265737300005669727475616C50726F7465637400005669727475616C416C6C6F6300005669727475616C46726565000000667265650000000000000000448DAF4B000000000EF10000010000000300000003000000F0F00000FCF0000008F10000E2100000411100006B10000017F100001FF100002EF100000000010002006C7A6D612E646C6C004C7A6D61446563004C7A6D6144656347657453697A65004C7A6D61456E6300000000E000000C0000009D3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000' If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 1, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 2, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Lzmadll () Func Saveas2Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'gVrI8SrbTRWKubPB2inIsLDASNYNlU87KKpW0htSfIKWp7CuWNDG8/FB5jRyrqirJTBNZWkThPuh9IcWU4OOzdAe6DgT0Vg7DYeBTgPtyd7o64kbV/5Q5PsFdIR2wg+3SigzZlbU9oMQG+Me7m9r/s90yAxHwmgo0ATrJ1EyUCA8ubbTxBI1qsk653/HVGRXqrEmqoazGg+YBwLzyliBjPxwGTxAxQD9Hx+o7x/03DqaGrchaK2opGjKh5bOUjgpUXSwBtKPOfBXCa0OKY9uO1nQ2XAAy+v7uuMh08xsuJfyZ+/vgCBAb8rsEMlptzhOe8ZKEzAVhUCFHDuqTFTT4s6fUIm/2U9g2TB8SdjO2kS1CNuo30wDU8qEhklaYiU0wh3DtnheJWODBeETr4yzQ6DZcP5VojyE4li7c1nbWk9snn5piWp63fHMcmRtlwiJ4pGG04OkFg06LPGorPaKrY2PgX/+GbueErEddG7yjaaP729Mtd9Sx2+5jVmO1DjbddOfjGy4MnA75g2kxwFn8zEcfmSGG5Tq8s5gVmiZ5BOEmFgqxqriUIVF6F9njnmOBjSX4ioUlDPMfwavESFsxwGSi1pib/70knhxMyBfGeLHe7aEI8oJ+lW4xP3FNpFDd8Sch5nN7z3wyC7IuBSmdD1mBmXv27PMpSHoY7ABs5mAEPAJ7sjM2/Df0nQ06ymFoQs8u+NOX2i69cmXaum8vvnheKflk8g0zkQ=' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Saveas2Ico () Func Settings2Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'Xx8zK4DR0P9lACQAkcCUVtYPjLtBW72G5wkEL1pMlQpt0nCk6GTxpkREf3CUrUzPi/D3QOmyvGDtTdRWUHKArgkKiUNYjfZ6gCxgCzW+lj6J6V+HLOs+LfLUIejvs28Tex87PPd8umjda9/RXW1QuKGwukEP6tuBQ3pNiAE5tyirU6Jlx+22OfJ/LyvZkl45ENrW5kucwuVZ04RIX6g2JQsb69tQaW7+WMEqgOhh07VmuxMgkO5tErU4sIzTNbvexKGXnx1skU423lG5uBM9B7FRt9zfjKjVNEugPCeln86tX3QPWMYnBA7xwZAmJ4JrMF4Pi4JcP5WO2NrkyI9SdDhm29LT+SapA9d9gm2Zf2waov/c9ndGGoSej37gQ8LV5F/V7WJY+NwvTJ3kDtnsgYscQ1feH7iCStp0lv7FO3trcWQq0ej7Xp31scGTjwUCkCuNfrOKBxnrhl4iYFQxb5ZALBw0Us0YzJ94HHM31fqOcWYZA+eDSyd6SiW4m5uvpjaa1yKPIbqYvOWTmoGwA80OPbK2OETyKBod90XqQQIAGcvs676FBObhv8l+qVC6HpDfP3QtZp0XJ71DqhU1OqS07zCeqs4ez40Y5bAGLxe84gwSSuYl/pApDErfRXEXG+OA4rlhMq5hbDVQs2jv4YnNMbuDkY8jdLzkpqa1bp5/do+TdGSMVYRylO5yeqA2dBGeyJ5c/wUwOjWSBVBhlO6wf0hLr3d5az98s2Zy+G9C44pVzTg5Ayubu784JurO' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Settings2Ico () Func TaskDialogDll (); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= 'wcHrc5xKqkEDxcqcLBxzJq0oFI4sD8I0B2aKkGZ1pCyijoJLRFiEOul+WWSI8cCGjCnYJ1PxmPwIsby7m6+/XrryQPFrPjMZ6go8dBIgIqtp5M1dlOpS1QXeLUJHxaw5djparibBsqLthVn2YjjMjOtAarkIm8y3wK4LTQnaXdUAAcfQ+MVe0rzBG6vyQ8xesXDmsG8yeyw8LxNt5bQNsVKZqZO71ZxtFzNvR+Qvg+CME5Eq8Xr6qJLK8EOD9dw6t9PWefpgVPwsUsrnR7J5s5Z6BnV5V0ZQKCWLQgpbPIwiWYpTWr/pnogWYqNCBVEw/tNgorSfT5MCngChu5sC1aCBl7z+fB+mXLIfsCCwSFy+CxgZDZDvXTi/HZt1+WaqjDu65VzfpwRn6Ue0zwZQ5pKvNbllao4FQm9UVBz+L4srN+3suGe0rqkz4ZBR+8LAEoTxPJWH0oWIdzaBEJ16rnOpkWfuN5UaAJNQUuURf7ki9N3/p34JUGy5rvFEkcd7XutF2yZuZFAZzgY28Qt7NZMUqqcZOgs/JPKTNoCLzYvaORrNrbA8iFSJfNmRPOJuebMNibLN3C6MpJR73U62B/1al8Gdz8ZLDK3hct16WezOMzVfTB898+EZsYvDd4unUi56DWJOu1Q9aYMBSANkfSRcnBFVfNClk0H60H7LTcakTt+Fc6+wojeheelFFtBLCcg9IxlaZsOHjLbrDxVvDu/02GTbiRx67Igh+SKpebwjnPDZIZuc3685av4oXh2nk9Q2c3t2Vq+6U2Biyv+3rfBI96M5ChNRpJePkY1TIpyMzimk62VKxACnjCx/WnUMiAcdV8Rnhz550PMcaguFoayGcL80ADSrdKMXN6GaBUuMz2+vI/SXnrb2y5XbUeYr6GR9+ixgDuXCjgu1WlR0hZ5aXqR/Gmzi4VZQoM0rDffVbfpweirIbQRLN0qPqm8celdDudwOz5yZJAK8MsIYemTmG+ha7uxQy/7mCqPrJJ2BKWq9PbbS0EIGy2bdM4t8DC+SIDVAyPqE688BTSMsWfISHyUQFvVk40CnZArlMk9ap4ExKZx64TvBO10NhwpN7nDIuI64j8frmf42P6LtIR3NN+Aoc7e2H81hGIK+PqXPhkSGYR+2l83uj1l2nvHps0TwR3q7swhO0OPBxM0vDhIAcRsAv9o+HLLpg8oZ9wVPLovugBKV7SApIaQH7gZ3Ih6twY7XqP1JHwcaT1npZB/oQrtMI8BMD7A8v1BSzJ3uhdt14dPHqoTs/pix4IOJxr3hkbYc8PSg+7aOEYC5+T8krNgT5mzI684ZUoJn9AaJyJcq2yVquF9XOE8wkLN5OqoailMqLW2ogTmKEi3wBNgJB26uxr/XnMUfU80/vUwBTFCqWwwJN6f6p8B0g7jN9dC3vwT/fPZm2zSrUGYb21WM7xJXmvBZAL2VIEdtoY9DNn6VD6YPBPwlhT/64mfqWAqoHb4GEJz4jzyMX4idxM2dERznGQFl70fJnzSJxi00wj9O4ZmnUyIn+mdQiO5jxZs9Qsf5QMPG/B6xE1PJn+Fb/uIggc9S3VftdUrGCVmJxdr/mgevKCXR7K5vKIx70z6DQApUtpUbChuFxBuI5XPipA91MNrBM25tvlgHbMf/bJoyVS7x7/jJmrHILeqM1jNHRHx0qOHP7nWp+ilxpOytwOZD0ENlsn//9DuvNaIdzHp7Fv+SKSB7dj2U6Yenxb9L8XQs58jletAMshI3jbR3Ys5szLhPmQwoXVb0G+RVHs/9RWVxw4NiYRzLDCc2jm5jPWZx34UYnn5JXir+gkztbN+zrUMkDZSIpmcJuf555sDmyt4LKIxF/RuJXC+9hEjiLzhCGtiFWs4o/ZlFLm7F+ooSlZ5bkDaFbm4IcsR1kFve/Yd8eECGa9ar6ghTc0OTCpGoa2qjOrKTbzCN42XV5/ZpLpBRCb6St+lvX2CoKENT64/4gSkB3tlm4mSUiQQn4ygeB4xfjELwndXVPNvT0Brf8rHIrE7HdsZO6ifosXNCPbqMY3p1A2GGb6yFsYh+NhtWS4aCG5yu3E9m5syo2lj7P1mQbwbgofx0UyQQg7D6NzHpsslcBF7QL6VWqJ3MokGd6kiZBESqNG53f8tj2gHrx/+UrdDpeWL6i73oTTxOwiuBVxQ+Fo29BPJC3mA1tSomC3tuNoXc5/iWQDlHaxFF71pUFPVP6dz/I60XoWEvBlqZxbh04W2JkTOhXr0iBY01q4+LsaLMpIC0rQOCplQhi40EC5C8hIOxNuggX0n9GaAN4A8d2FNruNb7l00gUe2B+NtGqfRCZEUksaLgS8pFbbR4F5EgXBs+013G5Dm7VUo/PZStWw5Z16yWX+VGjB/eayBYiMdYhOsNfcTXmk5VGWcFuQ6dFx5g3cwIu21Soyjt5AxKSErqQ2/AhhPGRMU4TmUucCGccPSFc+AuEEBANuZGvnaL/F78Kb59Y16sqsyZT4QxCVXqbGO9cAt9tA/Txq6ZJAlvjHA2qe2O8LpACUJdzDkC2j8LpZ7xoDql9xTd6Fg5gh/nVjvKseBY3Gb+4Fi073/O/46kODFD2iEZ9c94ajgRjyYTpmQVhSS3QlLjFFY9OVjTwSnNm/XFOf1lEzBQBs61bRWtArUSLBCEmyxnyAMubgQNisFwo0A5XIltu8GEcQdR2CC5Qk1NxpZecWu/yZX5ninzepGj9tlKnLUOQBdwvYMRonYxvi+Q/KXqRCJNoiQUZRXQkki5sKGijRPpAFj8fWEwHBbkikoyRNZG1IyjjpaP2QtJxr6tjlDtkvH/d8D86Wr7GLO7V9B413a8lKW+TWsSnlLSqExh+XmEdZAjnJ/YQHLpSAT5r8c0rjy9NbWAiFkgCPqOGrxE6hhisICNm7IfhYCSC4TyiEUQhJsUPfQoudxfTJfOqyhiIJVoOGTzhkd3U9tLiVjSP4kZ4izqTfb9ezo/oTxUmZRQaj3Q6l8zVqyDV5WG7nO6mVium592kSl0X+x9B3APryq8Jks+othYAE4J7P80DTuWGPw3Yt3CDihyWksLe0RmIoeb9ZiD5wlggLYsRc4BPWoynsj2uu7IGp3dCQd0p9iKucJ0br2PenRzIHLB7awC4Mqcj1VUY1qKIYe3BtE8+DrQld331jwxGQmm23zJliBY5qjYZkRrvRCKFeq6k0G48Ezav0LNc63s+qhg8KlbmJLcUAjO0HnQRPA/M65/10Mr6V4+7HqaMrkg8G6RxempOg/PSmxFITUabV0W0ZxieVYaDhNPY+n28IdLlNQ4aykmdqkarEmYstb/u75atiCdzu0Dwo5+qUTzSFQyGJcanoMj+b4ntjcP530r6ZYWPM24kYxpKOPPim6m5j1TUcGa9R46sklLVffeAplzwmdR0jMrof5pbNQ6lc5Feou8JpkbBxf8vLnlb54gALBWkDyJximlaUqNF73IlUo00aUuPVgLomnpzTFVQEIfFqkMfpnZakES/0xVCbdgKqC6IkrSP3fk32hzbtrxFSmMo2eb8WEbMxMochRAFjAHAcl0uQutQhg92oQFO+OL0zLzAdIUzixyGTTLubYR2/fp3duFkd5FwSO7lEdaVj09qhG6pGrf8y2lFAnP9xWOT6jcjaiP9oK1b2gPgMdo8N2IP3FgKvAO5rCvntzEw+0h/OSitsCu9Lfi+GyaDxMUbCcSIXOypZysJ68Qtvmt2NFfn69lP/bxM+gjYOm6jbmBIGm2EJ97k1haUcRnfyKHFQRshQ6c2I6EPTinB5oYnM4ccguYWOnT9CXd0came/ZnIx4eDLzrLWN43DJJxoImqFwGnL8T4uLvfgTfMMi3/e0GD2U8x6MJ+7RxlXmTtsWrrmMvasIsuOrPJuyXkciaaoGylJvYeEZOtM6kpkqcXdg1neNUD3k7UXvRcTSj2FGVkHA+YSyTbdOK65LEekjCWZMw22YCMZny+w9bM8JsVgXmXTDJ5e1UvQfsnITHTslvmhiU82ay' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= 'XjaBTrEAjJl3yFinylpfZwDgKZmpHgs0c9254ISnmzV6VGXmVOwHVgt5qTgfpWsIiBW/l5NBO9i1uFrZ046OaGpVB/VWv4eUfW0Bh/v4G2mn9g1ijzbZ4MQtX7OZKbCtYzgHwFl9zo57mma/kQ1EHKMs8wB/KcONzwhB6rhe5kq+wD0hdHVJLn2oDjAUsGJHFYjCWTqdEhqVFXvFeWsZLd7llrqJr3CAz4qim+WzmUfmnuOtkTGdaKNSE7hQVXxNk2IeG2ONO/eyJQxIfwEi58KkBEuRUZ1Jwez9CbvcPnX8VaFLhHn6Jk7dUvFbT+F8sXXDm8muCt8ruDEQp8vuAT6IkNxEos9mZvI6VXLSRnBgInT6nSlcCAv2eFjt7gKakkpDrQOldZ0tjDRjnMx+hJ673SgVZUCmJ5gb7dHdSc1JsPE8l93GbE1zYzkvBEwpRy8mxEth9CoVFU3TMmBc057Y7opdmC+FTQsn/j69muUFbi7/Y37yHrDDNii14jI/hMB+Umg/ZHHZQ0CZ6ws2HzdJ+4bGhgBUSYODwVfRhzIKeGoUZWtnWQOMVMZGpnRVuD5C0t4vWXUKEtpUliHaEkUnVYBqBDyt1GpObhxZEwRtGd3e4gDxXOO6JELjC0fmFPcXgVUMmhgu/tTW42dXMqR5D+LKiROpNAlrRUv6XB1z37MFLj/7SQqSkBTESquwjuHVUr8CnEjiytdOR1pFx5+aAzScXExOMJUSIV7hFN/ZeMiVC1D37eZSoEU36gy16oJhwfSHtIjro6KEJgCLSzq+9PGtFEaJVznMBmu5zSdVQa1qvCdXUouLWONfvO3juaYGCmJc1T2KaOLYI+dC+vES0eOfWjPoQFkONt8/U8sDHtJIT9Houo9F6F4ZJfgl6hVt6QWw3ktN01Cz4QiBfRh3w8UCzlNh1NudXx30BrDuqlR194ice5Ia+7drytkKkZWwSP9DC67ssCfTKoyANKoDjyISCZeAMyHFmv+lXmo4kZXAWjrspRqE4kcipfCDlCAxjlQ6fohZS2vOixiiniBO7H37gsSes4GvLZx5Loo5VHr+NJOmwAy+XRWOGDykaZvUdOeCqCtG6tY0W0GcdAXEIhI9U4U3c+ZFm7AJxXwwSPbvC+JkUhibDsXkj5U6Gfho/u7txGcS1895ILRYCkPC/2/Ts3fKbgZNVoPcX4ScS0thTRSJjk7biXaYBwkcsFbSImRtEv6uKqfRrUfYvRAZuTclCxKRizE7Q1FCgzA79fMS4ggzW0xq0lq4vnRAp9Xot7Fj+h+KsNPieeTE56cGw9RaIwmca+ECpOZLNJKrzFsRgwZdqSzcTJj45ZS3oA1iu5SM8aqLpo0qzYn+VU/TURvjbXTCq6mes04T54Wdglgm81JT8nbgfZ4m98Xmh/r0ish/cDOVKyix1UDGjRI5kFaXnFmUh/wduYdlAGTsM34WyL1S3rgqUpTQ5aqJhO7zw2eEzGd+LAYD58EnpUWSUQCWOh71KSDWZKfIxskIAA74YBLz2nsTqXaQT4FrZfcyD/FE901T8lM/EtQZETmFph0x5pS3ieo0z1ypQUB75kjdQRdaUhoKS+0VW3er5No1IhfztLuhgeKIdflKthFS5VQAlRkx9eWGhCxEvEZomTNdec57SBjLCXT6wqSAGfxr3eATKDfPFMnIrU5GvWNFCXy5jd4PgqnQIt8bHfnYN6JQ9V6vuVw0StZOHkVMPT2JjkoxYnSnKBUrmimdFaLy8mAgsczAPPBzwyEp7uWhms24+j6hltxsuSuyPaFuYwoaJE125HgLJK98ESJ5jHcvkW251SCiwqvSbl88I2N47pwk4eiLfpp8DkvRJpovFjXvW1H1+Rpsy58pBoetxVopiDh9Nd+9gqEnAOzfeBwTF65e+oEH+nTZqmV/ZrnZjOSF7594EWUdNhVLXB1uTQdSSr7c8EMtQp82xf2Enfu7VtfvFqozMyrydku5qJSBVfkm+8EZQl+Mfm2TXNt2tz5T2TQnBGfpxxV7K5yHWJN8L3xTuBCSn3SzMXyowybYzL+0jZL+hl14hoA5pwbddLRrb018KSh+2obkSerBcQ4xolfityOfruC5vaPUT5Qjmf7AhRlV86a9TbgUW+BK6oqxh6emUjdihRcYZ+XKs/AL0007lxz1whGMVvqK/ZEvSIDj2+DZQCLtTigowz/ZAWnKuzAvWXY+tZg8TqU6wD/P1JrhLRT67fjGokjIMR9tle7mr9laqMMD6pQF9OdT80X+qrNXF2K5u7+OzdWaVDMapDG20WGdkfj55KQRlR3CoyWKe6jKOwv2e+xHnVba8SWuRk0HOVCC6D2IsC3Xrer1/88SkiYh4/vdJCIZOnLaMOe7ZSqqDqKmahikoWELUIxrRm9WOl1PkygUmLXm973NF39dALJB9xND+DkfRy2nXXfrPu9zyI8/6+nOTyDj9zk6/3iBkH8uXbyRfdC6O4ouxggQMpbLh/c5Ydb0Yy+fL0uF7JwJs5wlZVjFXhOdEgyO553tkqxLWD3BWdxls4pKvoApDO0KpSYDGOBuO5xY9r+YjvBZ8WrrKBvPIb4Idc0bqXpkBOFmXgBXdBGADG4ibXr/UBuYKgeRoYoYkSn2Bdqonl11/KPEfyk6XFYTx9iJRwG67XOND/nlnMRCczC/ftRWMZqCeIGSfBXmfBdV3Rk62SYlHQukjzlba2fiL+2hlqokH5JzPklkVwjt+C7TUOylSq4cC60S9eK0+ljL0GNgUr3KsPWa52yAFgkBbrFruK3bQ8p0W6pM7+/GuQuiTV/c7+AQ9YMLZLPxq+S6Uk+N50tN56ClbNLEyYz+h0T4vx9Z94s9ieiunanPUHJZaOTdTh4j33LUDBgucKLJ0wOSqxb0IuqupmSNgL4iZvzmQMo8YmBdriD4/jfeOAd0Yi/otmfOu+UHlPP4/pKtyPQC/6zusgj1luBKrQjHnS7NmNj0kScoeFohu39KdCto7bsCGOcABSh6DwKdAMvVQyCY/sjvqiNuB17F+cSHtvzGPagwpu01x4SGj+R1oe/OxxZbF1MsA/+O47as8qFVzb6U+bFFn17aWuOjA6aMcQD/dbCmgI1vJ+XvirUWi3QNBBQ9vOiakv2nHb12nOcoQ6OjxjomoyBBdrrX6bwQJj6o+vGvKgmZDIYAtNz9i136t+hLbIjcMA4XidQX1tMmtpZhWL/fxBcKw7KNNUYQZY2OLrlEBu6QiUtp4wO5RnMjMHM6PL5ZICmZkYuPZuRlXNBf7fRw2aoajbhiu7nSaMnBa0E1T/bJ8DtrXvarOPOrK/wRaA6BcVKFQkt1GaM0N3ROBuV7cpTDNFbzGpKXNWjeBaE6EpWuA6w4/Y2arjN+KtKMuztf4EnOffZtQAvL+FmW7ALXZHpg40Nz8Bdvg8NkxQR0BEDJIcv6+aZQ6UTDYJrWU5T2rqC1AGgJVh312N76jPdxulP0X102/QZMx1+6Kwu/Yjf6ffkp3rGV9wuDlBG1BMbVShLdR+caDKBJFuxLpes6U7k+wV+61VcpNJbU9sBhdoIEo6h5JkVXlo2qLVbcFBf6N72SbxCt8Heq5YLDUIQxwIa5C9QTp/KoZqv9AaLHR0tq6zG+kkWFi41l9WqRHTVpkHg4LkdoGe73xOn2koeK/DU3o62Ei26R+qASAlfQyGmclUkY7tCfDzzagLHdTplGvGupoQj7HMX2NbscQrVJBSBzvqGfQGMxxL1Tb/6rz6iQ9oZZ4wIz1SJzUqcACFvzd/1pzV5sK8Y5tbz0Mcz7wFR77HnSMLUxaM/RsGr6E/sZqZqQdW8V26FASHCuS6YFFitom2UaQNVhDueaco0HGg+b/8gX53K3ioYebSCLavG61qClgKrgZaFaZw2xuISn5AV9mxutT21VciQ06DEPxvkE+zDXXcggHYmxEqaD8HJuG/6sJSZGTBPw4atS/+Y57L9LelJDVEKsRVXSDpXDbltfr9o1DjW219SnDjvMH0aU' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= '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' $sFileBin &= 'rQlJI2FwW+NtMeOsblxIQcHwW6XgJAKKAcSJwLnH+HW1WL+NZFtnFymQgNVu6kTU0ppAIXyEgCp/Y7lK1LGgtMlI6pMhvWd8+JlCP9jx9MLsmE1Y4Z4OVNGRRbiSR0X81lcJgVxAbsB/TJG+yfNTdkI/uGFS5Dr7nksHQJrHUPyrQ21QREKbWWKYerA9vOqlBPTeIDOfMFBusmOseF8Xm0nYtOmYiO/hMuNhYLeOfjIV+9e5jQqPqB/+1BwJv/+oA8Ir7St8cPrwwl60Oxc8JUpCkZCPCInxgutKQXyzHfhVSSJiRvDU3/eKstxwyz6HuHtMo6fHUnU6SJjHQkIPaQVHB2RMj1n/xc96Nm7vOLS5XiZhRXt5VnZqIBQ+SiylUt0CJhBWnxlAyTJqk45c1jR4jsjiU9G12WePHEd62oRGFoQan57VFvuybwnoHnn5bdPcXzBx5wJDqL+4WKq1eGK6mg7K5tvGXcFzanbidtAWNR96vb9EoU4wNhiCTZGz9lBBDX1fctFDGlsSTFGVK3S7K1rHRkiIWfYwlspw3I4E4/Bil8K+3yoNhaeZcs92HhdfSk85dFZz4++zJe7nAIyeX5AjnLD9cxRXOtfN7usRZFLnpcploB7fNi1cDNCNJSwIwNVh10ffcEIvBk1VY42iRC/18dypy7OpJyyrrBGu7bCNrWLfYn4WnyqrkDVhBuyvUyo6KxY3WR/OilWpLiZzhKFO9rRcDEZKHyLFt6qWei78sY6ArmbsZJzJlovUyN8yr9ZiQRkOd1is6pTeiTPV/cQJXshHoYhjyWJ3eZkDpMkN4d6f5+6bsxxmKO8SSZ552Ruol0wYdqVtaSaaL6cCJSMO9jhALYlE7y6uE3NPG4EQ/yR3zo5ZaGdsZpjOydyGpGFfz2oux7T8j1rggMaxMo1De/nKeyUwDMW2NNJiOu0YyWHSx8OdEywQ+8A2KXZGMW0HCI19ZnRCBi2STHwh071mje+KTvNDMXow7xcQD+OxHnvEaTTCnUTSn5b6bc6pcuIahqu/OrVvWT1zD1wbNQXR/W91x6gmM+AJVXrsCZHGAOX2QGRVav/Iyt5CADKdw0/flfeH+FWxpTJ+a8UTyARR+Wh2YZ+ZpCR0LFgU7PlbLXr+ovngYMPQ7/D9Y34wL1wFuZSHvg7PqOD+MDNujCa0gjJz3iwH5n3YrZeiW+0zu74NHr7Ylz65nt/wN4jGQY0I0W+sJqVx07VSEcgs4hSmLCWR9rSiSBo91v8N62ACH6O9Ll8ISOnhyC5K44qNE1LNfUZqYIzEX3JX3Mwbnii9Rx+XyVWWTwsp8SKXIGsAgd8BLvDSXA8DxvoLfR1RmaAd79LujwFhJZk8dhqoRFyPsgpFbPTM2cOy/uVesBehYc7kn/yoRz2XPueiMLxNQ7UomsXIX+1q0ngfyEaVFI0nu76aDDF08XDBlrhmGQmERYYpneFBmkkxmS4esHQhdZDtqvjkkVDm7wuijvHwZh8Ja0QoXrnI53d4CZu7C9KWj8fjG+gIMB5CKOOVyOVOZpiGemSGZWmU9GsKh/qtvYROi6BDKThbok8Oyf7nsrqZ1sslFFYrm+XaTGjcoY12RZ4zvH0O/Qfrd1hy6lduc8Kv+y/M98SZJ0o5/BW5zB9GZe6qvsHhA/KfPCbZydKEjAbC3F8XReHenFXeQ1/NBLbADfzG/DO/YG8WlSzX/4AZLJI3l0o6VH8gBdtInSLjkv14HfxXi02L+xLeoInAKsm4n+KEYxXt0dOnWrX/Dqidz7y6N+5bGJZ8U4XXCRtvD6N3OOedZD02IQF8Eu32iWeoEQpiHqLeiYLelXJ/sSNYmAC7kWwAVQSb9q5rMUi/7kMNbRywhMFJEoUDdijB0rrJ1tLJtMX+l1HwRkJM0841ef11hxVepAj6iZnh7iO+7dITEqNRfiM/pPKu9YFM9eEtlB4tIcc5vHyTVTBhoIAf5kbHzEljDLNkvnO2KgblnC9/UUvK4wQgILRwKmb6XwQHN+fPaQHnSTq63pdtzskMBVF4W66wLbRUbFCrS1cqN4JXnT9l7xd2nxEB1/HEdJXUXCs3elET2z6P+zQQSKH6/YsZ2aa6H65nktw4n46dbbU2FeHkp9AyIoOz5HnVvJEeYbR6c1SAmSgA5hOeB4J6nQLj+zxmsFcBb4qDJwNxRE+BOyrwh4THFqiLSClyZ20BOW9/ySWCrDWPO4IXnysibDupwrB81lXaNq1Ny/QUu8XbjhFWbDeR3k9x3n57WiMA56xA4/PhMVis4cidbGO3wsDZFELBX5XXYPASb+1UTsE4jmTZNbCrn3joaGdEfAPmQEbT0/+OBtpHmsg0ytkEeKSH4OWJU6+ye7nswMK4NZnGB61+D5ypUg5wuaVv5fZwEqh2rZJC8u9dyTxiAa4mqDwsV0xZxgiSXNUiQ+291g8HyqsC5scYvQm4j1ZsEToUF5kpRkqa7HNe7HNJfsgc/JK4/vdyLumvZWH2xknjD7c9EwQbmnKfAKZ8wl0zvfF0yPj3fvZtRFhXACO3SChGMgENSQ4WlH2Gb32bJeGRROBu8tj1OZGSjd2JeZL3m4KkTQ7q2aQbH9cUS5nQE9oLsIQZTFwomellvSZgAamA7Yg7iUpdDhTT69K5JsDDjQq0mxO42E8bqJv6kSc4jp7F9FyphiVcbEh5b+JwJRpZgoAtSLoYGJUuq25ip0mpixAaOViJ5qLUe0ssdx2ZQAm+K8NZXDbh13yLXx2GYpyR8jtPgWnhvXHxmGlktie2iAGscizyHH6wT+8lS1PbcGVCuGD0OmsjeIkGgS9FNlIO/3mer/q5yeL75mtOmw2NnKTaMPsnNZSuxicN0YKCH2nvu8pNfXhvUJzQfYQmrsXrTcP6dzwFhgcGm50/WQ9F6gg/K41nzMfcAshHE8FjYUuFjsQXVvj0xAHem1zPAXvZ4X6FLyaQqvfL6fPsiye+lYOJgmWHxIeRnyY7gDO62g1l3KnJkCXiVY0xlTi+gM4h5qntuZwp7q16JkcKQbd1eS2GsqP9so+KS5gkjY6zk2NVv9uXqlV6Ft4g03BHsuOwx3C30SPG2fll1kV9AWkTCn7k0WWgSCo0e+2PHVU7DfD8HoyB/L/M7JEpOjkIqAQYdxEGUzqUTm+lUR8xasSHfcqZzvYb2XjbJa991GivqF+3r0d/xIvYh7o4YO/KweKx36n1U04QjFBfPj8jlUY55nabxEk7ThKfJQof8kHCnH9myoV5z6NBDdbKAbabr5TTGhHyELYpG6mZ6xW2c0afFuUXe9E4MD9exyHCHl5h8HBItZcf6d7QEeJgOb7v0WZTbn5mnest0GDx2yiEK5GTCOsN6SqNALIS3zDjZlsHwsZlbseGczZ+rRSRoJ9Pgy02514NVuKEFzEAll8/fBo8gWq5aKspIdFlmOjCufMMOtsgIsNf2x+dsDQ0z6OccAqTDAO3WJag8SGVyzFJ1VX/tRmV6VOBFK2nz4UugNkAiFnx3361I+wZIEIw6PFAE2gle4KS1Gnu4jcxasyfPl80K6TihU/ucpLb/zNzSyZcOpjwZTTeoVnY//hbt3RS21QNV0wTqmPii3ihyJE2Y+84HDO/UJykjEd1sF8hfK39dhhWRshMV6vK+FZe7PRPuWMzC+57E4j1F/B7X+/iEWB0STUfOAprlVvcmNTymOBNdo72ccyKQzdQadBQY2ErTNVljOQ5cmUTiNjr0SlDe/OThAKr1BQwsl5ntLk0/fr4NoIVLPfaDcs/gr1SSaRz4TMpl+3M3YRjfpE5dhupETou2z0apTTMGCyBbt9tF+tmDirZkOqiWQEBZqQ2Rl+XG0Bsh2zVHgXkRTmv1ATCgM4+VF9KPsAaV3ojydR1IzfaOUFQaoyUHEHqPCX1KczhhcYL4FzYRO0Mx27p4Z6GEm9O8rZYx6+D16x3rk+9n9D5Zl/IdyL6edaWiT5QYa7WhrhJ+C9EvjnKhOo+CL4rVEUYaGFnlOvQ' $sFileBin &= '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' $sFileBin &= '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) Local $sDllPath = $sTempDir & '\XTDLAu86.dll' Local $hFile = FileOpen ( $sDllPath, 16+2 ) If @error Then Return $sDllPath FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return $sDllPath EndFunc ;==> TaskDialogDll () Func Undo3Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Undo3Ico () Func Wallpaperbank2Ico ( $sFileName, $sOutputDirPath, $iOverWrite=0 ); code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= 'nCGX0BJraw9cnLYKZSFr9Nl1D8Kndqg89cy5WfCK+IBsPqJfsLBZqT4UdVNSCwXPeo77NzD0FxAXttss9jV7RZWY1FPZsyPa0Z0nP5rXdpYbus83g9MKjB49f9ZIojIUfSpsTVzYu9RT9uJCCfYBHAPIwMevyrggW99+7miPFKgGRxP5qaTziopanej0iUQC04bv6vt7XtrN7/XVol2EgU+x9LO1wMzNF6/0j+31n2hy3c4WgWjprLYs8Y4U59TZ4jDj67SgDWID2iKSIOmr18m4h/TZpxnnzRK5x3piLJzo9c6Fa7T59yA3siUN/CQT3uIGCECwlFruYwWgdsavKepGo3neCEeBt/fBY0j9TLyVlptQYvXYD3E3GX9Mp3AyAo58O+Gw9QlOvLKLXEbecyIjMoLPgXcwXwIl7X71z75Sn1HSzu/GvWWoFVqqs3ZeTsja/+KOiijUww7Q8w99e4akFhHe8u+bTzPDf+jllN4YOoGFi7g0gqby2SrwK5T/8Xlcbeqt2p3uFNHu4Q3DXOccA5wGNR2wMwcv8F3HCv3shYWCamhNp0IVIO/RVHPg8UI2BfN17UxI/h7lekHt7IQlJy+FNhTebiQjzl7pyUA2/+9hG7N1Jkbm3OR4/qeDETt1tZi9/UwvZfCA8oknldQA' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Wallpaperbank2Ico () Func Waterctrldll ( $sFileName, $sOutputDirPath, $iOverWrite=0 ) ; code generated by BinaryToAu3Kompressor. Local $sFileBin = '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' $sFileBin &= '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' $sFileBin &= 'QfAq/TCVg6HeShFBmJEeTM+M6gdw05GppdaV5EupYI1WtVKyDKVYl0Nmr5mnzda3xIx3KuMQmVQsVDZdO3seJ3IAyhEvTnrA/TaQ7DrfT73Mtx8voyxAbaWu2c+vGPzpclqLyv5IJsxoSJG1MHVuDaUAevCvPOuIfDNJSYq32SB3l0zTWzsHeYQSNVcWH0y/i6GApnv3b0NXI/PmUeZyOmerNJHP98acqLDS/lg7aRVZ6Mi+AAYiIAI0gdVm1MQy9dKse+pcSYyND+95HEowOqaIWMn5ReEoIFDsyEx05+fwt7pR7YllJwvLfeFvFqo75y7KfOk00/DsK+YD93TVAcLfA+Wz2iWN6chMN8wPYsBkWYW9UC4T0p4CvYs9PJKCyM2biCHS++8W6+xsZcOgiZOSNWQ2ofUvp5acV5jMJbwfFzJ24IXXka1WLZXRJYeG+7kbLpxyqqd6UIX0txXe4vMR8i8nA0v7z3uHnDpTMLlp+en2vLkDQ9BtdwyhGQ6pyNYFDHfdv1ivWt8cl6qPvJ8WAin+qMTwn6bn8eDWan0xNmLQMeFlE+an3M11jlKxgSdKE3VKd5K9mXl1qUXFKQhiC0soI4DqfDvvDQZfCz6qxoojdqXVuGdY0dQqgbhrqgFwLcnqhZROq2WYjj11SM96X0ylNz5OyuJ9NkkJ+R8Thd3jhVkRSmFyoWKyDii7TgUVmsiC2G1N+hKLxGoa1YhlnWY+92repa8RfMn+GVJpXtA6IV09fFcr/NOQp5KPf8VkUudZ4QlEjUdlD1v5HTVIYeiYAXnqtHkPCCkKo2BxlYJRtusu2MR2ftejj9Q/rTG/LrvWM8nqey9DJwnROO227Ag+hwTszw8BH3YFmdK0qBgrFNNBGpnLv4GV6QxnLjDV+UaYnKYhIel+io5n3/kGge9PeNHLc49m3uWf71CpQ0xlVnxav1PK0EFRNbg8t3Ehtp9bxm3K57XvDxmjZ5IJqYeOwqnumRQlkixcpKDXgU9EUBNWlKf27fjmI5NCEO32k/a7B8MB1U45aCx3CeHy3RdW75RYaX77bK9TzbbGDGt3MIRa1dXLQacux/YCdJfO0xC+9wwDqWByAXzKEQ1r00fA34dcGDBiPIXY/+VrWva/fBSn41gW82YWvpwUMc4rUYTXRPC+5NxYd2zwD+ubE26BZSUzseAq+3dJOmkNE0PHbTdw/vngHOOKiLiATMce7o9RgFpRdC7VLVB4+jn3ugutzk0b+ZQBKKx/KKkcn44xHkXMMG7F5iAIb01i6z5UnhM1rTzaa18FIkv8iVJkUT6SLJABqcAoMyFbaoBTI0ttk22ovPn4dFNlC1PvFQF7DNoJXB4DSTw4znRLqIuhgZYfND5YBPQ3XOd/aDl3A84nHEShKNaNsSWH8g2KDYerN2UicLQaOg4/P5JwXdkmPrUhalXZWlAUkRXVwwtqF4rZqI+51OIzHU8TCqDmgPhqjvnkLR104cmjdf44wSXCL7tyFcIuA0BQYyaqe5narv7TTcLhXCVbMVceQsLvamCJ4U3MxygVxRf4ntEsuLonQHT7bzJQ1RreVZcqFkeWOmbxERh+aAOgecY1u/v+INnJr5dhDSb0kkJd6ejGz8LAEksNVdQOD0LcZAASlGoK+kK4fWd4lxbECT6yqgt9ZqRf3L2eLuLs19TQX1GjNf7Bt+wDYcgsn5lZnzdEJaBgDGT7nc/gxcjwCEIV1A95d6n8+AG41BkLuQKR5ZhLZS1G0W5EuO6PxjNa11edUN+mm9yGp/RHapkvO/vDRGxbVVgjaS1BJWjBM0MxBI+6KmK+uDJi2sps31ZFooAOgpsV/+A6ilhCM5NtA6hYDgmrino0XcY1tKM0Gf/7KLe+/1DBziZlV9829IkDvpoyium2p1C5YA5NBRApZ73nucmj3tRfHhPTpg+TYIZIsxY=' $sFileBin = Binary ( _Base64Decode ( $sFileBin ) ) $sFileBin = Binary ( _LZMADec ( $sFileBin ) ) If Not FileExists ( $sOutputDirPath ) Then DirCreate ( $sOutputDirPath ) If StringRight ( $sOutputDirPath, 1 ) <> '\' Then $sOutputDirPath &= '\' Local $sFilePath = $sOutputDirPath & $sFileName If FileExists ( $sFilePath ) Then If $iOverWrite = 1 Then If Not Filedelete ( $sFilePath ) Then Return SetError ( 2, 0, $sFileBin ) Else Return SetError ( 0, 0, $sFileBin ) EndIf EndIf Local $hFile = FileOpen ( $sFilePath, 16+2 ) If $hFile = -1 Then Return SetError ( 3, 0, $sFileBin ) FileWrite ( $hFile, $sFileBin ) FileClose ( $hFile ) Return SetError ( 0, 0, $sFileBin ) EndFunc ;==> Waterctrldll ()