PS: inclue seulement :
- Icone
- Image de font
- Couleur du texte
(pour que L'aperçu fonctionne ils vous faut crée un Fichier Apercu.jpg)
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: GELDROC
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiButton.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <GDIPlus.au3>
#include <Misc.au3>
Opt('MustDeclareVars', 1)
Global $CouleurText = "0x000000"
_gui()
Func _gui()
Local $ImputDossier, $ButtonDossier, $ImputIcon, $ButtonIcon, $ImputImg, $ButtonImg, $ButtonCouleurText, $ButtonTerminer, $ApercuCouleurText
Local $GUI, $ApercuDossier, $VarDossier, $VarIcon, $VarImg, $StringIcon, $CXCouleurText
$GUI = GUICreate("1.1.0", 750, 640, -1, -1)
GUICtrlCreateGroup (" Slectionner vos Fichier et Dossier: ", 10,10, 730, 120)
GUICtrlCreateLabel("Dossier :", 20, 30, 100, 20)
$ImputDossier = GUICtrlCreateInput("", 20, 50, 670, 20)
$ButtonDossier = GUICtrlCreateButton("...", 700, 49, 30, 22)
GUICtrlCreateLabel("Icon :", 20, 80, 100, 20)
$ImputIcon = GUICtrlCreateInput("", 20, 100, 300, 20)
$ButtonIcon = GUICtrlCreateButton("...", 330, 99, 30, 22)
GUICtrlCreateLabel("Image :", 390, 80, 100, 20)
$ImputImg = GUICtrlCreateInput("", 390, 100, 300, 20)
$ButtonImg = GUICtrlCreateButton("...", 700, 99, 30, 22)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$ButtonCouleurText = GUICtrlCreateButton("Couleur du Text ", 20, 150, 300, 25)
$ApercuCouleurText = GUICtrlCreateInput("", 330, 151, 30, 23)
GUICtrlSetStyle(-1, $WS_DISABLED , -1)
GUICtrlSetBkColor($ApercuCouleurText, $CouleurText)
$ButtonTerminer = GUICtrlCreateButton("Terminer ", 390, 150, 340, 25)
GUICtrlCreateGroup (" Aperçu : ", 10,190, 730, 450)
_Create_Apercu(@ScriptDir&"\Aperçu.jpg", "0xC4"&StringRight($CouleurText, 6))
$ApercuDossier = GUICtrlCreatePic(@ScriptDir&"\TempAperçu.jpg", 20, 210, 710, 420)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $ButtonDossier
$VarDossier = FileSelectFolder("Selectionner un dossier valide.", "")
If StringRight($VarDossier, 1) = "\" Then $VarDossier = StringLeft($VarDossier, 2)
GUICtrlSetData($ImputDossier, $VarDossier)
If FileExists($VarDossier&"\Desktop.ini") Then
GUICtrlSetData($ImputIcon , $VarDossier&"\"&IniRead($VarDossier&"\Desktop.ini", ".ShellClassInfo", "IconFile", "")&","&IniRead($VarDossier&"\Desktop.ini", ".ShellClassInfo", "IconIndex", ""))
If GUICtrlRead($ImputIcon) = ",0" Then GUICtrlSetData($ImputIcon , "")
GUICtrlSetData($ImputImg , $VarDossier&"\"&IniRead($VarDossier&"\Desktop.ini", "{BE098140-A513-11D0-A3A4-00C04FD706EC}", "IconArea_Image", ""))
$CouleurText = IniRead($VarDossier&"\Desktop.ini", "{BE098140-A513-11D0-A3A4-00C04FD706EC}", "IconArea_text", "0x000000")
If $CouleurText = "" Then $CouleurText = "0x000000"
$CXCouleurText = StringReplace($CouleurText, "0x", "")
$CXCouleurText = "0x"&StringRight($CXCouleurText, 2)&StringLeft(StringRight($CXCouleurText, 4), 2)&StringLeft($CXCouleurText, 2)
GUICtrlSetBkColor($ApercuCouleurText, $CXCouleurText)
If Not FileExists(GUICtrlRead($ImputImg)) Then GUICtrlSetData($ImputImg, "")
$StringIcon = StringReplace(GUICtrlRead($ImputIcon), ",0", " ")
If Not FileExists($StringIcon) Then GUICtrlSetData($ImputIcon, "")
_Create_Apercu(GUICtrlRead($ImputImg), "0xC4"&StringRight($CXCouleurText, 6))
GUICtrlSetImage($ApercuDossier, @ScriptDir&"\TempAperçu.jpg")
Else
If $VarDossier = "" Then
GUICtrlSetData($ImputImg , "")
GUICtrlSetData($ImputIcon , "")
$CouleurText = "0x000000"
GUICtrlSetBkColor($ApercuCouleurText, $CouleurText)
_Create_Apercu( @ScriptDir&"\Aperçu.jpg", "0xC4"&StringRight($CouleurText, 6))
Else
GUICtrlSetData($ImputImg , "")
GUICtrlSetData($ImputIcon , "")
GUICtrlSetBkColor($ApercuCouleurText, $CouleurText)
_Create_Apercu(GUICtrlRead($ImputImg), "0xC4"&StringRight($CouleurText, 6))
EndIf
GUICtrlSetImage($ApercuDossier, @ScriptDir&"\TempAperçu.jpg")
EndIf
Case $ButtonIcon
If GUICtrlRead($ImputDossier) = "" Then
MsgBox(0, "Ereur", "Selectionner un dossier avant")
Else
$VarIcon = FileOpenDialog("selectionner un fichier Icon", @MyDocumentsDir&"\", "Fichier (*.ico)", 1 + 4 )
GUICtrlSetData($ImputIcon, $VarIcon&",0")
EndIf
Case $ButtonImg
If GUICtrlRead($ImputDossier) = "" Then
MsgBox(0, "Ereur", "Selectionner un dossier avant")
Else
$VarImg = FileOpenDialog("selectionner un fichier Icon", @MyDocumentsDir&"\", "Fichier (*.jpg)", 1 + 4 )
GUICtrlSetData($ImputImg, $VarImg)
_Create_Apercu(GUICtrlRead($ImputImg), "0xC4"&StringRight($CouleurText, 6))
GUICtrlSetImage($ApercuDossier, @ScriptDir&"\TempAperçu.jpg")
EndIf
Case $ButtonCouleurText
If GUICtrlRead($ImputDossier) = "" Then
MsgBox(0, "Ereur", "Selectionner un dossier avant")
Else
$CouleurText = _ChooseColor(2, 0x0080C0, 1, $GUI)
GUICtrlSetBkColor($ApercuCouleurText, $CouleurText)
If GUICtrlRead($ImputImg) = "" Then
_Create_Apercu(@ScriptDir&"\Aperçu.jpg", "0xC4"&StringRight($CouleurText, 6))
Else
_Create_Apercu(GUICtrlRead($ImputImg), "0xC4"&StringRight($CouleurText, 6))
EndIf
GUICtrlSetImage($ApercuDossier, @ScriptDir&"\TempAperçu.jpg")
EndIf
Case $ButtonTerminer
If GUICtrlRead($ImputDossier) = "" Then
MsgBox(0, "Ereur", "Selectionner un dossier avant")
Else
$StringIcon = StringReplace(GUICtrlRead($ImputIcon), ",0", " ")
FileCopy ($stringIcon , GUICtrlRead($ImputDossier)&"\icon.ico", 1)
FileCopy (GUICtrlRead($ImputImg), GUICtrlRead($ImputDossier)&"\img.jpg" , 1)
IniWrite($VarDossier&"\Desktop.ini", ".ShellClassInfo", "IconIndex", "0")
If GUICtrlRead($ImputIcon) = "" Then
IniWrite($VarDossier&"\Desktop.ini", ".ShellClassInfo", "IconFile", "")
Else
IniWrite($VarDossier&"\Desktop.ini", ".ShellClassInfo", "IconFile", "icon.ico")
EndIf
IniWrite($VarDossier&"\Desktop.ini", ".ShellClassInfo", "ConfirmFileOp", "0")
IniWrite($VarDossier&"\Desktop.ini", ".ShellClassInfo", "OriginalIcon", "%")
If GUICtrlRead($ImputIcon) = "" Then
IniWrite($VarDossier&"\Desktop.ini", "{BE098140-A513-11D0-A3A4-00C04FD706EC}", "IconArea_Image", "")
Else
IniWrite($VarDossier&"\Desktop.ini", "{BE098140-A513-11D0-A3A4-00C04FD706EC}", "IconArea_Image", "img.jpg")
EndIf
$CXCouleurText = StringReplace($CouleurText, "0x", "")
$CXCouleurText = "0x"&StringRight($CXCouleurText, 2)&StringLeft(StringRight($CXCouleurText, 4), 2)&StringLeft($CXCouleurText, 2)
IniWrite($VarDossier&"\Desktop.ini", "{BE098140-A513-11D0-A3A4-00C04FD706EC}", "IconArea_text", $CXCouleurText)
FileSetAttrib($VarDossier&"\Desktop.ini", "+SH")
FileSetAttrib($VarDossier&"\", "+SH")
FileSetAttrib($VarDossier&"\icon.ico", "+SH")
FileSetAttrib($VarDossier&"\img.jpg", "+SH")
Sleep(1000)
Run(@HomeDrive&"\Windows\explorer.exe "&$VarDossier)
Exit
EndIf
EndSwitch
WEnd
EndFunc
Func _Create_Apercu($IMG, $Couleur)
Local $hImage, $hGraphic, $hFamily, $hFont, $tLayout, $hFormat, $hBrush
Local $aInfo, $iWidth, $iHeight
Local $sString = "Nouveau dossier"
_GDIPlus_StartUp()
$hImage = _GDIPlus_ImageLoadFromFile($IMG)
$hGraphic = _GDIPlus_ImageGetGraphicsContext($hImage)
$hFamily = _GDIPlus_FontFamilyCreate("Arial")
$hFont = _GDIPlus_FontCreate ($hFamily, 16, 1, 3)
$tLayout = _GDIPlus_RectFCreate (10, 10, 1000,200)
$hFormat = _GDIPlus_StringFormatCreate ()
$hBrush = _GDIPlus_BrushCreateSolid($Couleur)
$aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $sString, $hFont, $tLayout, $hFormat)
_GDIPlus_GraphicsDrawStringEx ($hGraphic, $sString, $hFont, $aInfo[0], $hFormat, $hBrush)
_GDIPlus_ImageSaveToFile($hImage, @ScriptDir&"\TempAperçu.jpg")
_GDIPlus_BrushDispose ($hBrush )
_GDIPlus_StringFormatDispose($hFormat )
_GDIPlus_FontDispose ($hFont )
_GDIPlus_FontFamilyDispose ($hFamily )
_GDIPlus_GraphicsDispose ($hGraphic)
_GDIPlus_ImageDispose ($hImage )
_GDIPlus_ShutDown()
EndFunc