Um einem bestimmten Ordner in Windows XP oder auch Vista einen Hintergrund (Bild) und ein Icon zu verpassen, gibt es keine besondere Systemeinstellung, mit der man das machen könnte. Mit VB ist das aber möglich.
Hierfür wird die Datei "desktop.ini" im Ordner erstellt, die dann die Ordereinstellungen ändert.
Dafür müssen aber die Ordnereinstellungen auf "System" und die von "desktop.ini" auf "System" und "Versteckt" gesetzt werden, sonst funktioniert es nicht.
Hier ein paar Erläuterungen für den Inhalt der Datei "desktop.ini":
IconFile = Die Icon-Datei (Kann auch eine EXE oder DLL-Datei sein)
IconIndex = Der Index des Icons in der Icondatei/DLL oder EXE
IconArea_Image = Das Hintergrundbild des Ordners
IconArea_Text = Die Farbe des Ordnertextes in Hexadezimal (bei zu dunklen Bildern wäre z. B. schwarze Schrift sehr schlecht!)
Farbcodes für IconArea_Text:
0x00000000 = schwarz
0x000000FF = rot
0x0000FF00 = grün
0x00FF0000 = blau
0x00FFFFFF = weiss
Wichtige Anmerkung:
Wenn die Bilddatei (für den Hintergrund) verschoben oder gelöscht wird, wird im Ordner kein Hintergrund mehr angezeigt. Deshalb empfehle ich, das Bild in den Ordner zu kopieren und zu verstecken.
Hierfür wird die Datei "desktop.ini" im Ordner erstellt, die dann die Ordereinstellungen ändert.
Dafür müssen aber die Ordnereinstellungen auf "System" und die von "desktop.ini" auf "System" und "Versteckt" gesetzt werden, sonst funktioniert es nicht.
VB.NET-Quellcode
- Public Class Form1
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- 'Hier die Variablen für die Ordnereinstellungen; gegebenenfalls ändern:
- 'Beispielverzeichnis:
- Dim Directory As String = "C:\Beispielordner"
- 'Das Icon für den Ordner:
- Dim Icon As String = "C:\Beispiel.ico"
- 'Der Icon-Index:
- Dim IIndex As Integer = 0
- 'Das Hintergrundbild:
- Dim Background As String = "C:\Beispiel.jpg"
- 'Die Schriftfarbe des Ordners (Dateien):
- Dim IconArea_TextColor As String = "0x00000000"
- 'Die Ordnereigenschaften auf "System" setzen:
- My.Computer.FileSystem.GetDirectoryInfo(Directory).Attributes = IO.FileAttributes.System
- Using rtf1 As New RichTextBox
- With rtf1
- .AppendText("[.ShellClassInfo]" & ChrW(10))
- .AppendText("IconFile=" & Icon & ChrW(10))
- .AppendText("IconIndex=" & CStr(IIndex) & ChrW(10))
- .AppendText("" & ChrW(10))
- .AppendText("[ExtShellFolderViews]" & ChrW(10))
- .AppendText("{BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}" & ChrW(10))
- .AppendText("" & ChrW(10))
- .AppendText("[{BE098140-A513-11D0-A3A4-00C04FD706EC}]" & ChrW(10))
- .AppendText("Attributes=1" & ChrW(10))
- .AppendText("IconArea_Image=" & Background & ChrW(10))
- .AppendText("IconArea_Text=" & IconArea_TextColor)
- End With
- 'Die "desktop.ini" erstellen:
- rtf1.SaveFile(Directory & "\desktop.ini", RichTextBoxStreamType.PlainText)
- End Using
- 'Die Dateieigenschaften der "desktop.ini" auf "System" und "Versteckt" setzen (XOR):
- My.Computer.FileSystem.GetFileInfo(Directory & "\desktop.ini").Attributes = IO.FileAttributes.System Xor IO.FileAttributes.Hidden
- End Sub
- End Class
Hier ein paar Erläuterungen für den Inhalt der Datei "desktop.ini":
IconFile = Die Icon-Datei (Kann auch eine EXE oder DLL-Datei sein)
IconIndex = Der Index des Icons in der Icondatei/DLL oder EXE
IconArea_Image = Das Hintergrundbild des Ordners
IconArea_Text = Die Farbe des Ordnertextes in Hexadezimal (bei zu dunklen Bildern wäre z. B. schwarze Schrift sehr schlecht!)
Farbcodes für IconArea_Text:
0x00000000 = schwarz
0x000000FF = rot
0x0000FF00 = grün
0x00FF0000 = blau
0x00FFFFFF = weiss
Wichtige Anmerkung:
Wenn die Bilddatei (für den Hintergrund) verschoben oder gelöscht wird, wird im Ordner kein Hintergrund mehr angezeigt. Deshalb empfehle ich, das Bild in den Ordner zu kopieren und zu verstecken.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „freecoder“ ()