SHFolder


Inhaltsverzeichnis:

Beschreibung
Download


Beschreibung

Die Unit dient der Ermittlung von Systemverzeichnissen über die Shell-Funktion SHGetFolderPath.

Diese Funktion wurde mit Windows 2000 eingeführt, für die Betriebssysteme Win95, Win98 und WinNT 4.0 existiert eine Migration-DLL.

Damit steht eine einheitliche Lösung für alle derzeit aktuellen Microsoft-Betriebssysteme zur Verfügung.

Die Migration-DLL (SHFolder.dll) wird u.a. durch den IE 5.0 und Office 2000 installiert und ist dadurch bereits Bestandteil der Win98 Second Edition..

Der Aufruf ist recht simpel:
function ShellGetFolderPath(ACSIDL:Integer; var APath:String):Boolean;

ACSIDL (in) Bezeichnet das gewünschte Verzeichnis.
APath (out) Hier wird das Verzeichnis zurückgegeben.
Result: Gibt True zurück, wenn sich das Verzeichnis ermitteln ließ.


Folgende Verzeichnisse können ermittelt werden:
CSIDL_DESKTOP
Windows Desktop—virtuelles Verzeichnis; Root des name space.
Ein typisches Verzeichnis ist C:\Windows\Desktop.

CSIDL_PROGRAMS
Systemverzeichnis; enthält die Benutzerprogrammgruppen.
Ein typisches Verzeichnis ist C:\Windows\username\Startmenü\Programme.

CSIDL_PERSONAL
Systemverzeichnis; Ablage für die Dokumente.
Ein typisches Verzeichnis ist C:\Windows\username\Eigene Dateien.

CSIDL_FAVORITES
Systemverzeichnis; Ablage für die Favoriten.
Ein typisches Verzeichnis ist C:\Windows\username\Favoriten.

CSIDL_STARTUP
Systemverzeichnis; enthält die Autostart-Programmgruppe.
Ein typisches Verzeichnis ist C:\Windows\username\Programme\Autostart.

CSIDL_RECENT
Systemverzeichnis; enthält die zuletzt benutzen Dokumente.
Ein typisches Verzeichnis ist C:\Windows\username\Recent.
Um einen Eintrag in dieses Verzeichnis zu erzeugen, sollte SHAddToRecentDocs benutzt werden.

CSIDL_SENDTO
Systemverzeichnis; enthält die Senden an-Einträge.
Ein typisches Verzeichnis ist C:\Windows\username\SendTo.

CSIDL_STARTMENU
Systemverzeichnis; enthält die Startmenü-Einträge.
Ein typisches Verzeichnis ist C:\Windows\username\Startmenü.

CSIDL_DESKTOPDIRECTORY
Systemverzeichnis; hier werden die Objekte auf dem Desktop physisch gespeichert (nicht zu verwechseln mit CSIDL_DESKTOP).
Ein typisches Verzeichnis ist C:\Windows\username\Desktop.

CSIDL_NETWORK
Netzwerkumgebung—virtuelles Verzeichnis; die root der network namespace Hierarchie.
CSIDL_NETHOOD
Systemverzeichnis; hier werden die Objekte für die Netzwerkumgebung physisch gespeichert (ist nicht das gleiche, wie CSIDL_NETWORK)
Ein typisches Verzeichnis ist C:\Windows\Netzwerkumgebung.

CSIDL_FONTS
virtuelles Verzeichnis; enthält die fonts.
Ein typisches Verzeichnis ist C:\Windows\Fonts.

CSIDL_TEMPLATES
Systemverzeichnis; Ablage für die Vorlagen.
Ein typisches Verzeichnis ist C:\Windows\ShellNew.

CSIDL_COMMON_STARTMENU
Systemverzeichnis; Ablage für gemeinsame Einträge im Startmenü.
Ein typisches Verzeichnis ist C:\Windows\All Users\Startmenü. (Nur für WinNT).

CSIDL_COMMON_PROGRAMS
Systemverzeichnis; Ablage für gemeinsame Programme im Startmenü. File system directory that contains the directories for the common program groups that appear on the Start menu for all users.
Ein typisches Verzeichnis ist C:\Windows\All Users\Startmenü\Programme.

CSIDL_COMMON_STARTUP
Systemverzeichnis; Ablage für gemeinsame Autostartprogramme.
Ein typisches Verzeichnis ist C:\Windows\All Users\Startmenü\Programme\Autostart. (Nur für WinNT).

CSIDL_COMMON_DESKTOPDIRECTORY
Systemverzeichnis; Enthält alle Dateien und Verzeichnisse für den gemeinsamen Desktop.
Ein typisches Verzeichnis ist C:\Windows\All Users\Desktop. (Nur für WinNT).

CSIDL_APPDATA
Systemverzeichnis; Ablage für anwendungsspezifische Daten.
Ein typisches Verzeichnis ist C:\Windows\username\Anwendungsdaten.

CSIDL_PRINTHOOD
Systemverzeichnis; enthält die Einträge für das virtuelle Druckerverzeichnis.
Ein typisches Verzeichnis ist C:\Windows\username\PrintHood.

CSIDL_LOCAL_APPDATA
Systemverzeichnis; Datenablage für lokale Anwendungen.
Ein typisches Verzeichnis ist C:\Windows\username\Local Settings\Anwendungsdaten.

CSIDL_ALTSTARTUP
Systemverzeichnis; that corresponds to the user's nonlocalized Startup program group.

CSIDL_COMMON_ALTSTARTUP
Systemverzeichnis; that corresponds to the nonlocalized Startup program group for all users. (Nur für WinNT).

CSIDL_COMMON_FAVORITES
Systemverzeichnis; Ablage für gemeinsame Favoriten. (Nur für WinNT).

CSIDL_INTERNET_CACHE
Systemverzeichnis; Ablage für den Internat Cache.
Ein typisches Verzeichnis ist C:\Windows\username\Temporary Internet Files.

CSIDL_COOKIES
Systemverzeichnis; that serves as a common repository for Internet cookies.
Ein typisches Verzeichnis ist C:\Windows\username\Cookies.

CSIDL_HISTORY
Systemverzeichnis; that serves as a common repository for Internet history items.
Ein typisches Verzeichnis ist C:\Windows\username\Verlauf.

CSIDL_COMMON_APPDATA
Anwendungsdaten für alle Benutzer.
Ein typisches Verzeichnis ist C:\Windows\All Users\Anwendungsdaten.

CSIDL_WINDOWS
Windows-Verzeichnis oder SYSROOT. Entspricht der %windir% or %SYSTEMROOT% Umgebungsvariable.
Ein typisches Verzeichnis ist C:\Windows.
Wird als sicherere Alternative zu GetWindowsDirectory empfohlen.

CSIDL_SYSTEM
Das Systemverzeichnis.
Ein typisches Verzeichnis ist C:\Windows\System.
Wird als sicherere Alternative zu GetSystemDirectory empfohlen.

CSIDL_PROGRAM_FILES
Programmverzeichnis.
Ein typisches Verzeichnis ist C:\Programme.

CSIDL_MYPICTURES
Bilderverzeichnis.
Ein typisches Verzeichnis ist C:\usernameEigene Dateien\Eigene Bilder.

CSIDL_PROFILE
Verzeichnis für Benutzerprofil.

CSIDL_PROGRAM_FILES_COMMON
Verzeichnis für Dateien, die gemeinsam von verschiedenen Anwednungen benutzt werden.
Ein typisches Verzeichnis ist C:\Programme\Gemeinsame Dateien.

CSIDL_COMMON_TEMPLATES
Systemverzeichnis; Enthält die für alle Benutzer verfügbaren Vorlagen.
Ein typisches Verzeichnis ist C:\Windows\All Users\Templates. (Nur für WinNT).

CSIDL_COMMON_DOCUMENTS
Systemverzeichnis; Enthält die für alle Benutzer verfügbaren Dokumente.
Ein typisches Verzeichnis ist C:\Windows\All Users\Dokumente.

CSIDL_COMMON_ADMINTOOLS
Systemverzeichnis; Enthält die Verwaltungstools für alle Benutzer des Computers.
Ein typisches Verzeichnis ist C:\Windows\All Users\Startmenü\Programme\Verwaltung.

CSIDL_ADMINTOOLS
Systemverzeichnis; Enthält die Verwaltungstools für den einzelnen Benutzer.
Ein typisches Verzeichnis ist C:\Windows\Startmenü\Programme\Verwaltung.

Wenn ein bestimmtes Verzeichnis nicht existiert, kann durch das or-Verknüpfen mit CSIDL_FLAG_CREATE verlangt werden, daß das Verzeichnis erzeugt wird.

zurück zum Inhaltsverzeichnis

Download

Die Units sind jetzt Bestandteil der Y Core Library. Das Demo muß ich erst noch anpassen.

Über einen Erfahrungsaustausch wäre ich erfreut. Bitten mailen Sie mir.

Der offizelle Weg zum Download der Migration-DLL geht über den Download des SDK: http://msdn.microsoft.com/downloads/sdks/platform/platform.asp
Wem das zu aufwendig ist, der kann sich das offizielle Installationsprogramm auch hier downloaden (83 kByte).

zurück zum Inhaltsverzeichnis

Mails an mich unter webmaster@pjh2.de. Haftungsausschluss
Bitte keine E-Mails zu Delphi, die sich nicht auf diese Seiten beziehen. Sie werden von mir nicht beantwortet.