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.
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).