Ordner mit Hintergrundbild und Icon ausstatten

    • VB.NET

      Ordner mit Hintergrundbild und Icon ausstatten

      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.

      VB.NET-Quellcode

      1. Public Class Form1
      2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      3. 'Hier die Variablen für die Ordnereinstellungen; gegebenenfalls ändern:
      4. 'Beispielverzeichnis:
      5. Dim Directory As String = "C:\Beispielordner"
      6. 'Das Icon für den Ordner:
      7. Dim Icon As String = "C:\Beispiel.ico"
      8. 'Der Icon-Index:
      9. Dim IIndex As Integer = 0
      10. 'Das Hintergrundbild:
      11. Dim Background As String = "C:\Beispiel.jpg"
      12. 'Die Schriftfarbe des Ordners (Dateien):
      13. Dim IconArea_TextColor As String = "0x00000000"
      14. 'Die Ordnereigenschaften auf "System" setzen:
      15. My.Computer.FileSystem.GetDirectoryInfo(Directory).Attributes = IO.FileAttributes.System
      16. Using rtf1 As New RichTextBox
      17. With rtf1
      18. .AppendText("[.ShellClassInfo]" & ChrW(10))
      19. .AppendText("IconFile=" & Icon & ChrW(10))
      20. .AppendText("IconIndex=" & CStr(IIndex) & ChrW(10))
      21. .AppendText("" & ChrW(10))
      22. .AppendText("[ExtShellFolderViews]" & ChrW(10))
      23. .AppendText("{BE098140-A513-11D0-A3A4-00C04FD706EC}={BE098140-A513-11D0-A3A4-00C04FD706EC}" & ChrW(10))
      24. .AppendText("" & ChrW(10))
      25. .AppendText("[{BE098140-A513-11D0-A3A4-00C04FD706EC}]" & ChrW(10))
      26. .AppendText("Attributes=1" & ChrW(10))
      27. .AppendText("IconArea_Image=" & Background & ChrW(10))
      28. .AppendText("IconArea_Text=" & IconArea_TextColor)
      29. End With
      30. 'Die "desktop.ini" erstellen:
      31. rtf1.SaveFile(Directory & "\desktop.ini", RichTextBoxStreamType.PlainText)
      32. End Using
      33. 'Die Dateieigenschaften der "desktop.ini" auf "System" und "Versteckt" setzen (XOR):
      34. My.Computer.FileSystem.GetFileInfo(Directory & "\desktop.ini").Attributes = IO.FileAttributes.System Xor IO.FileAttributes.Hidden
      35. End Sub
      36. 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“ ()