Personnaliser l'image d'arrière-plan de chaque dossier

Personnaliser l'image d'arrière-plan de chaque dossier
Sur les précédentes versions de Windows, il était possible de personnaliser l'image de fond de chaque dossier simplement en allant dans le menu Outils > Options des dossiers. Certains d'entre vous ont peut-être remarqué que cette option a disparu dans Windows XP, nous vous proposons de redonner vie à cette option à travers cette astuce.



Voici comment faire :


Tout d'abord il faut télécharger un petit fichier issu de Windows 2000 (se trouve dans %systemroot%\system32), ce fichier se nomme :

IEShWiz.exe (53Ko)

Une fois téléchargé, il faudra le copier tel quel dans ce répertoire :
%systemroot%\system32



Cliquez sur "Démarrer", "Exécuter..." puis tapez "regedit" et cliquez sur "OK" pour accéder à l'éditeur de la base de registre de Windows.
Rendez-vous alors à la clé suivante :
HKEY_CLASSES_ROOT
\Directory\shell\

1. Créez une première clé que vous appellerez Personnalisation, pour cela faites un clic avec le bouton droit de la souris sur la clé Shell puis sélectionnez Nouveau et enfin Clé.

2. Créez une seconde clé que vous nommerez command à l'intérieur même de la première clé que nous venons juste de créer.

3. Dans la partie droite de l'éditeur de base de registres, double-cliquez sur l'entrée (par défaut) et mettez la commande suivante "IESHWIZ.EXE %1" dans le champ Données de la Valeur, validez par la touche OK puis quittez la base de registres.
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le jeudi 02 avril 2009 20:39

Modifié le jeudi 02 avril 2009 20:54

VB_HORLOGE

Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Const RGN_OR = 2

Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Global sknRectBack As String
Global sknColors(0 To 6) As Long
Global hndLongueur(1 To 3) As Double

Global ActualSkin As String

'Ciseler la feuille selon le canal alpha
Public Sub Chisel(hwnd As Long, picSource As PictureBox, lngTransColor As Variant)
rFinal = CreateRectRgn(0, 0, 0, 0)

lHeight = picSource.Height / Screen.TwipsPerPixelY
lWidth = picSource.Width / Screen.TwipsPerPixelX

For Y = 0 To lHeight - 1
X = 0
Do While X < lWidth
Do While X < lWidth And GetPixel(picSource.hdc, X, Y) = lngTransColor
X = X + 1
Loop
If X < lWidth Then
lStart = X
Do While X < lWidth And GetPixel(picSource.hdc, X, Y) <> lngTransColor
X = X + 1
Loop
If X > lWidth Then X = lWidth
rTmp = CreateRectRgn(lStart, Y, X, Y + 1)
r = CombineRgn(rFinal, rFinal, rTmp, RGN_OR)
DeleteObject (rTmp)
End If
Loop
Next

r = SetWindowRgn(hwnd, rFinal, True)
End Sub

Function ReadINI(INIFile As String, Entete As String, Variable As String) As String
Dim Retour As String
Retour = String(255, Chr(0))
ReadINI = Left$(Retour, GetPrivateProfileString(Entete, ByVal Variable, "", Retour, Len(Retour), INIFile))
End Function

Function WriteINI(INIFile As String, Entete As String, Variable As String, Valeur As String)
WriteINI = WritePrivateProfileString(Entete, Variable, Valeur, INIFile)
End Function

Function CnvPath(strPath As String) As String
CnvPath = strPath & IIf(Right(CnvPath, 1) = "\", "", "\")
End Function

'Appliquer le skin a l'ensemble du programme
Public Sub ApplySkin(SkinID As String)
On Error GoTo lblErr

sknPath = CnvPath(App.Path) & "Skins\" & SkinID & "\"

With Main
.Picture = LoadPicture(sknPath & ReadINI(sknPath & "config.ini", "images", "imgMain"))

.picPalette = LoadPicture(sknPath & ReadINI(sknPath & "config.ini", "images", "imgPalette"))
For i = 0 To 6
sknColors(i) = GetPixel(.picPalette.hdc, i, 0)
Next

.picAlpha = LoadPicture(sknPath & ReadINI(sknPath & "config.ini", "images", "imgAlpha"))

.lstMenu.ListImages.Clear
For i = 1 To 3
.lstMenu.ListImages.Add .lstMenu.ListImages.Count + 1, "", LoadPicture(sknPath & ReadINI(sknPath & "config.ini", "images", "btn" & i) & "_0.gif")
.lstMenu.ListImages.Add .lstMenu.ListImages.Count + 1, "", LoadPicture(sknPath & ReadINI(sknPath & "config.ini", "images", "btn" & i) & "_1.gif")
.cmdMenu(i) = .lstMenu.ListImages(i * 2 - 1).Picture
.cmdMenu(i).Left = ReadINI(sknPath & "config.ini", "general", "btn" & i & "left") * Screen.TwipsPerPixelX
.cmdMenu(i).Top = ReadINI(sknPath & "config.ini", "general", "btn" & i & "top") * Screen.TwipsPerPixelY
Next

.picCadran = LoadPicture(sknPath & ReadINI(sknPath & "config.ini", "images", "imgCadran"))
.picCadran.Left = ReadINI(sknPath & "config.ini", "cadran", "left") * Screen.TwipsPerPixelX
.picCadran.Top = ReadINI(sknPath & "config.ini", "cadran", "top") * Screen.TwipsPerPixelY

For i = 1 To 3
.lneAiguille(i).BorderColor = ReadINI(sknPath & "config.ini", "cadran", "color" & i)
hndLongueur(i) = ReadINI(sknPath & "config.ini", "cadran", "len" & i)
Next

.picRectBack = LoadPicture(sknPath & ReadINI(sknPath & "config.ini", "images", "imgRectBack"))

.Width = .picAlpha.Width
.Height = .picAlpha.Height

Chisel .hwnd, .picAlpha, sknColors(0)
End With

ApplyColors sknColors(4), sknColors(5), sknColors(6)

Agenda.Picture = Main.picRectBack
Alarme.Picture = Main.picRectBack
AlarmeAlert.Picture = Main.picRectBack
AlarmeInfo.Picture = Main.picRectBack
AlarmeMedia.Picture = Main.picRectBack
AlarmeMsg.Picture = Main.picRectBack
MesureTemps.Picture = Main.picRectBack
SetTime.Picture = Main.picRectBack
For i = 1 To 3
Reglage.cdrPanel(i) = Main.picRectBack
Next

ActualSkin = SkinID
WriteINI CnvPath(App.Path) & "config.ini", "general", "skinID", SkinID

Exit Sub

lblErr:
MsgBox "Une erreur a eu lieu lors du chargement du skin " & SkinID & " !!!", vbCritical
End
End Sub

'Appliquer les couleurs du skin à TOUS les controles
Sub ApplyColors(Color1, Color2, Color3)
With Agenda
.lbl(0).ForeColor = Color1
.lbl(1).ForeColor = Color1
.lblSaints.ForeColor = Color1
.lblPosition.ForeColor = Color1
.lblZodiac.ForeColor = Color1
.lblDate.ForeColor = Color1
.cdrInfos.BackColor = Color2
.lblDate.BackColor = Color3
.picZodiac.BackColor = Color3
.lblPosition.BackColor = Color3
End With
With Alarme
For i = 0 To 7
.lbl(i).ForeColor = Color1
Next
.lstAlarmes.ForeColor = Color1
.lstActions.ForeColor = Color1
.cdrAdd.BackColor = Color2
For i = 0 To 2
.lstDate(i).ForeColor = Color1
.lstTime(i).ForeColor = Color1
.lstDate(i).BackColor = Color3
.lstTime(i).BackColor = Color3
.lne(i).BorderColor = Color1
Next
.txtTitre.BackColor = Color3
.lstAlarmes.BackColor = Color3
.lstActions.BackColor = Color3
End With
With AlarmeAlert
.lbl.ForeColor = Color1
.txtMsg.ForeColor = Color1
.txtMsg.BackColor = Color2
End With
With AlarmeInfo
For i = 0 To 4
.lbl(i).ForeColor = Color1
Next
.lstActions.ForeColor = Color1
.lblTitre.ForeColor = Color1
.lblDate.ForeColor = Color1
.lblTime.ForeColor = Color1
.lblDescr.ForeColor = Color1
.txtContents.ForeColor = Color1
.lstActions.BackColor = Color2
.cdrMore.BackColor = Color2
.txtContents.BackColor = Color3
End With
With AlarmeMedia
.lbl(0).ForeColor = Color1
.lbl(1).ForeColor = Color1
.lblTitre.ForeColor = Color1
.picProgress2.BackColor = Color1
.picProgress.BackColor = Color2
End With
With AlarmeMsg
.lbl.ForeColor = Color1
.txtMsg.ForeColor = Color1
.txtMsg.BackColor = Color2
End With
With MesureTemps
For i = 0 To 2
.lstTime(i).ForeColor = Color1
.lstTime(i).BackColor = Color3
Next
.lbl.ForeColor = Color1
.lstFonctions.ForeColor = Color1
.lstInterm.ForeColor = Color1
.lblMesure.ForeColor = Color1
.lblSep1.ForeColor = Color1
.lblSep2.ForeColor = Color1
.lstFonctions.BackColor = Color3
.lstInterm.BackColor = Color3
End With
With Reglage
For i = 0 To 3
.lbl(i).ForeColor = Color1
Next
.lne.BorderColor = Color1
.lstStyles.ForeColor = Color1
.lstSkins.ForeColor = Color1
.lstTools.ForeColor = Color1
.lblSkin.ForeColor = Color1
.chkRun.ForeColor = Color1
.lblSkin.BackColor = Color2
.lstSkins.BackColor = Color2
.lstTools.BackColor = Color2
.chkRun.BackColor = Color3
.lstStyles.BackColor = Color3
End With
With SetTime
For i = 0 To 6
.lbl(i).ForeColor = Color1
Next
For i = 0 To 2
.lstDate(i).ForeColor = Color1
.lstTime(i).ForeColor = Color1
.lstDate(i).BackColor = Color3
.lstTime(i).BackColor = Color3
Next
.lne.BorderColor = Color1
End With
End Sub
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le jeudi 02 avril 2009 20:10

df

df

# Posté le vendredi 24 août 2007 08:36

cv

cv
[ Ajouter un commentaire ] [ Aucun commentaire ]

# Posté le vendredi 24 août 2007 08:36

d

d

# Posté le vendredi 24 août 2007 08:35