Vielleicht noch ein Tipp für die, die hier mal landen. Die obige Funktion schlägt manchmal scheinbar (ja wirklich: scheinbar (!)) fehl und liefert zum Beispiel "pictures" statt "Eigene Bilder".
Ein Blick in den Dateimanager zeigt dann aber, dass dort auch die englische Bezeichnung angezeigt wird. Es kann ohne Weiteres zu einem wilden Durcheinander von deutschen und englischen Bezeichnungen kommen.
Grund hierfür ist die desktop.ini, die für die deutschen Bezeichnungen in jedem Verzeichnis vorhanden sein und (im Falle von "Pictures"!) folgenden Inhalt haben muss:
Delphi-Quellcode:
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell32.dll,-21779
InfoTip=@%SystemRoot%\system32\shell32.dll,-12688
IconResource=%SystemRoot%\system32\imageres.dll,-113
IconFile=%SystemRoot%\system32\shell32.dll
IconIndex=-236
Der entscheidende Punkt ist "LocalizedResourceName=@%SystemRoot%\system32\shel l32.dll" mit der richtigen Nummer.
ABER - und jetzt kommt die ganz große Fußangel - diese Desktop.ini funktioniert nur, wenn das entsprechende Verzeichnis das Attribut "Schreibgeschützt" hat. Da muss man erstmal drauf kommen. Gibt man bei korrekter Desktop.ini in einer Konsole den Befehl "attrib +r C:\Users\Anwendername\Pictures" ein, so kann man zusehen, wie im Dateimanager die Anzeige von "Pictures" plötzlich auf "Eigene Dateien" umspringt.
Eine Reihe von Desktop.ini-Dateiinhalten bei den verschiedenen Verzeichnissen findet man dankenswerter Weise
hier.