[EX] Personaliser vos dossier

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 10:15
Status : Hors ligne

[EX] Personaliser vos dossier

#1

Message par GELDROC »

voici un petit script qui permet de Personnaliser vos dossier Facilement

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


 
Douves
Status : Hors ligne

Re: [EX] Personaliser vos dossier

#2

Message par Douves »

Euh.. ça m'a delete un fichier...
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [EX] Personaliser vos dossier

#3

Message par matwachich »

Ton fichier (je crois plutôt que c'est un dossier) il est juste cacher! ça ma fait la même chose!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
GELDROC
Niveau 6
Niveau 6
Messages : 295
Enregistré le : sam. 10 oct. 2009 10:15
Status : Hors ligne

Re: [EX] Personaliser vos dossier

#4

Message par GELDROC »

ils faudrait que vous rajoutier cette ligne juste avant le Sleep() a la fin de la fonction _gui()



FileSetAttrib($VarDossier&"\", "-SH")
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [EX] Personaliser vos dossier

#5

Message par Tlem »

Les balises de code.

Merci.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre