#AutoIt3Wrapper_Icon=res\icon.ico #AutoIt3Wrapper_Outfile=iMozilla 1.3.exe #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Res_Comment=by DJSIR and The French AutoIt Team #AutoIt3Wrapper_Res_Description=DJSIR, Inc #AutoIt3Wrapper_Res_Fileversion=1.3.0.0 #AutoIt3Wrapper_Res_LegalCopyright=Creative Commons 2.0 FR (by-nc-sa) #AutoIt3Wrapper_Res_Language=1036 #NoTrayIcon #RequireAdmin #include #include #include #include "res\7Zip.au3" #include $Name1 = "{" & Random(100, 999, 1) & "}" $TempDir1 = "{" & Random(100, 999, 1) & "}" $TempDir2 = "{" & Random(100, 999, 1) & "}" $TempDir3 = "{" & Random(100, 999, 1) & "}" $V001 = 0 $V002 = 3.8 Dim $Avancement[27] For $i = 0 To 26 $Avancement[$i] = $V001 $V001 = $V001 + $V002 Next $URL = InputBox("iMozilla", "Adresse Du Thème ?") If $URL = "" Then Exit ProgressOn("iMozilla", "Téléchargement", $Avancement[0] & " %", -1, @DesktopHeight - 170, 16) $DownloadFile = InetGet($URL, $Name1 & ".MTF") If $DownloadFile = 0 Then MsgBox(16, "Erreur", "Impossible de télécharger le thème séléctionné") Exit EndIf DirCreate($TempDir3) _Next(1, "Extraction du Thème") _7ZipExtract(0, $Name1 & ".MTF", $TempDir1, 1) _Next(2, "Recherche de Compatibilité") If Not FileExists($TempDir1 & "\chrome.jar") Then ;Chrome n'existe pas $Err = 0 $Chrome = 0 If Not FileExists($TempDir1 & "\Toolbar.png") Then $Err = 1 If Not FileExists($TempDir1 & "\Options.png") Then $Err = 1 If $Err = 1 Then MsgBox(16, "Erreur", "Le thème n'est pas compatible (toolbar introuvable)") Exit EndIf Else $Chrome = 1 EndIf _Next(3, "Recherche des Données du Thème") If Not FileExists($TempDir1 & "\chrome.jar") Then ;install.rdf n'existe pas MsgBox(16, "Erreur", "Le thème n'est pas compatible (install.rdf introuvable)") Exit EndIf $FileRead_InstallRDF = FileRead($TempDir1 & "\install.rdf") $TempArray = StringRegExp($FileRead_InstallRDF, '(.*?)', 1) $Name = 0 If IsArray($TempArray) Then $Name = $TempArray[0] If $Name = 0 Then $Name = InputBox("iMozilla", "Nom du Thème ?") $TempArray = StringRegExp($FileRead_InstallRDF, '(.*?)', 1) $Description = 0 If IsArray($TempArray) Then $Description = $TempArray[0] If $Description = 0 Then $Description = InputBox("iMozilla", "Description du Thème ?") $TempArray = StringRegExp($FileRead_InstallRDF, '(.*?)', 1) $Creator = 0 If IsArray($TempArray) Then $Creator = $TempArray[0] If $Creator = 0 Then $Creator = InputBox("iMozilla", "Créateur du Thème ?") If $Chrome = 1 Then _Next(4, "Extraction de Chrome") _7ZipExtract(0, $TempDir1 & "\chrome.jar", $TempDir2, 1) EndIf _Next(5, "Copie des Fichiers (001, 002)") $NotErr = 1 $NotErr = FileMove($TempDir1 & "\preview.png", $TempDir3 & "\001.png") $NotErr = FileMove($TempDir1 & "\icon.png", $TempDir3 & "\002.png") If $NotErr = 0 Then MsgBox(16, "Erreur", "Impossible de Déplacer 001.png et/ou 002.png") Exit EndIf _Next(6, "Copie des Fichiers (100)") If $Chrome = 1 Then $NotErr = FileMove($TempDir2 & "\Toolbar.png", $TempDir3 & "\100.png") Else $NotErr = FileMove($TempDir1 & "\Toolbar.png", $TempDir3 & "\100.png") EndIf _Next(7, "Copie des Fichiers (300)") If $Chrome = 1 Then $NotErr = FileMove($TempDir2 & "\Options.png", $TempDir3 & "\300.png") Else $NotErr = FileMove($TempDir1 & "\Options.png", $TempDir3 & "\300.png") EndIf If $NotErr = 0 Then MsgBox(16, "Erreur", "Impossible de Déplacer 100.png et/ou 300.png") Exit EndIf _Next(8, "Suppression (" & $TempDir1 & "," & $TempDir2 & ")") DirRemove($TempDir1, 1) FileDelete($Name1 & ".MTF") If $Chrome = 1 Then DirRemove($TempDir2, 1) EndIf _Next(9, "Chargement des Images") _GDIPlus_Startup() $BAR = _GDIPlus_ImageLoadFromFile($TempDir3 & "\100.png") $OPT = _GDIPlus_ImageLoadFromFile($TempDir3 & "\300.png") _Next(10, "Coupure de 100") $V001 = 0 $V002 = 24 For $i = 1 To 11 $Image = _GDIPlus_BitmapCloneArea($BAR, $V001, 0, $V002, $V002, $GDIP_PXF32ARGB) _GDIPlus_ImageSaveToFile($Image, $TempDir3 & "\10" & $i & ".png") $V001 = $V001 + $V002 Next _Next(11, "Réorganisation des Images (106, 1010, 108, 1011)") FileDelete($TempDir3 & "\106.png") FileDelete($TempDir3 & "\1010.png") FileMove($TempDir3 & "\108.png", $TempDir3 & "\106.png") FileMove($TempDir3 & "\109.png", $TempDir3 & "\108.png") FileMove($TempDir3 & "\1011.png", $TempDir3 & "\109.png") _Next(12, "Coupure de 300") $V001 = 0 $V002 = 32 For $i = 1 To 7 $Image = _GDIPlus_BitmapCloneArea($OPT, $V001, 0, $V002, $V002, $GDIP_PXF32ARGB) _GDIPlus_ImageSaveToFile($Image, $TempDir3 & "\30" & $i & ".png") $V001 = $V001 + $V002 Next _Next(13, "Déchargement des Images") _WinAPI_DeleteObject($Image) _GDIPlus_ImageDispose($BAR) _GDIPlus_ImageDispose($OPT) _GDIPlus_Shutdown() _Next(14, "Extraction de nconvert.exe") $Err = 1 $Err = FileInstall("res\nconvert.exe", $TempDir3 & "\", 1) If $Err = 0 Then MsgBox(16, "Erreur", "Impossible d'installer nconvert") Exit EndIf _Next(15, "Conversion des Images 001 et 002") RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\001.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\002.png') _Next(16, "Conversion des Images 100 à 109") RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\101.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\102.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\103.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\104.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\105.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\106.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\107.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\108.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\109.png') _Next(17, "Conversion des Images 300 à 307") RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\301.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\302.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\303.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\304.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\305.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\306.png') RunWait(@ComSpec & ' /c ' & $TempDir3 & '\nconvert.exe -out bmp -merge_alpha -colors 256 ' & $TempDir3 & '\307.png') _Next(18, "Suppression de nconvert.exe") ;~ FileDelete($TempDir3 & "\nconvert.exe") _Next(19, "Vérification d'une Image") If Not FileExists($TempDir3 & "\10" & Random(1, 9, 1) & ".bmp") Then MsgBox(16, "Erreur", "La conversion à rencontré des problèmes") Exit EndIf _Next(20, "Création d'un Fichier .rc") FileWrite($TempDir3 & "\" & $Name & ".rc", '001_BMP BITMAP 001.bmp' & @CRLF & '002_BMP BITMAP 002.bmp' & @CRLF & '101_BMP BITMAP 101.bmp' & @CRLF & _ '102_BMP BITMAP 102.bmp' & @CRLF & '103_BMP BITMAP 103.bmp' & @CRLF & '104_BMP BITMAP 104.bmp' & @CRLF & '105_BMP BITMAP 105.bmp' & @CRLF & _ '106_BMP BITMAP 106.bmp' & @CRLF & '107_BMP BITMAP 107.bmp' & @CRLF & '108_BMP BITMAP 108.bmp' & @CRLF & '109_BMP BITMAP 109.bmp' & @CRLF & _ '301_BMP BITMAP 301.bmp' & @CRLF & '302_BMP BITMAP 302.bmp' & @CRLF & '303_BMP BITMAP 303.bmp' & @CRLF & '304_BMP BITMAP 304.bmp' & @CRLF & _ '305_BMP BITMAP 305.bmp' & @CRLF & '306_BMP BITMAP 306.bmp' & @CRLF & '307_BMP BITMAP 307.bmp' & @CRLF & @CRLF & _ '1 VERSIONINFO' & @CRLF & 'FILEVERSION 1,0,0,0' & @CRLF & 'PRODUCTVERSION 1,0,0,0' & @CRLF & 'FILEOS 0x40004' & @CRLF & 'FILETYPE 0x2' & @CRLF & _ '{' & @CRLF & 'BLOCK "StringFileInfo"' & @CRLF & '{' & @CRLF & ' BLOCK "040C04B0"' & @CRLF & ' {' & @CRLF & ' VALUE "CompanyName", "' & $Creator & '"' & @CRLF & _ ' VALUE "FileDescription", "' & $Description & '"' & @CRLF & ' VALUE "FileVersion", "1,0,0,0"' & @CRLF & _ ' VALUE "InternalName", ""' & @CRLF & ' VALUE "LegalCopyright", ""' & @CRLF & ' VALUE "OriginalFilename", ""' & @CRLF & _ ' VALUE "ProductName", "' & $Name & '"' & @CRLF & ' VALUE "ProductVersion", "1,0,0,0"' & @CRLF & ' VALUE "Comments", "Créé avec iMozilla [DJSIR]"' & @CRLF & _ ' }' & @CRLF & '}' & @CRLF & '' & @CRLF & 'BLOCK "VarFileInfo"' & @CRLF & '{' & @CRLF & ' VALUE "Translation", 0x040C 0x04B0' & @CRLF & '}' & @CRLF & '}') _Next(21, "Installation des Composants DLL") Sleep(Random(50, 500)) FileInstall("res\cvtres.exe", $TempDir3 & "\", 1) FileInstall("res\link.exe", $TempDir3 & "\", 1) FileInstall("res\mspdb50.dll", $TempDir3 & "\", 1) FileInstall("res\RC.exe", $TempDir3 & "\", 1) FileInstall("res\RCdll.dll", $TempDir3 & "\", 1) _Next(22, "RC.exe") RunWait(@ComSpec & ' /c' & $TempDir3 & '\RC.exe /r ' & $TempDir3 & '\' & $Name & '.rc') _Next(23, "link.exe") RunWait(@ComSpec & ' /c ' & $TempDir3 & '\link.exe /nodefaultlib /dll /machine:ix86 /noentry /out:' & $TempDir3 & '\' & $Name & '.dll ' & $TempDir3 & '\' & $Name & '.res') _Next(24, "Déplacement de la DLL") FileMove($TempDir3 & "\" & $Name & ".dll", @ScriptDir & "\" & $Name & ".dll") _Next(25, "Suppression du Dossier " & $TempDir3) ;~ DirRemove($TempDir3, 1) _Next(26, "Terminé") Sleep(5000) ProgressOff() Func _Next($v_X, $v_DES) ProgressSet($Avancement[$v_X], $Avancement[$v_X] & " %", $v_DES) EndFunc ;==>_Next