Anwendungsbezogene Ordner:
Auslesen und setzen des aktuellen Verzeichnisses
(Arbeitsverzeichnis):
|
var
WorkDir: String;
WorkDir := GetCurrentDir; //
aktuelles Arbeitsverzeichnis auslesen
SetCurrentDirectory (PChar(WorkDir));
// aktuelles Arbeitsverzeichnis setzen
|
Dateipfade der eigenen Anwendung ermitteln:
Der Dateipfad
befindet sich im ParamStr(0)
|
Edit1.Text :=
ParamStr(0); |
Temp-Verzeichnis (Benutzer)
ermitteln:
|
Edit1.Text :=
GetEnvironmentVariable('temp'); |
System-Verzeichnisse
ermitteln
Zum auslesen eines speziellen
Systemverzeichnisses, z.B. "Anwendungsdaten", welches bei einer
Standardinstallation (NT, XP, Vista...) unter "C:\Dokumente und
Einstellungen\Benutzer\Anwendungsdaten" zu finden ist,
kann man sich folgender Funktion bedienen: (Bitte nicht vergessen,
die beiden Units shlobj und ActiveX unter
Uses einzubinden!)
GetSpecialFolder:
–
benötigt shlobj und ActiveX
in uses!
|
function
GetSpecialFolder (aFolder:
Integer): String;
var
pIdL: PItemIDList;
Path: array [0..Max_Path]
of Char;
Allocator: IMalloc;
begin
SHGetSpecialFolderLocation (0, aFolder,
pIdL);
SHGetPathFromIDList (pIDL, Path);
if Succeeded (SHGetMalloc (Allocator))
then
begin
Allocator.Free (pIdL);
{$IFDEF
VER100}
Allocator.Release;
{$ENDIF}
end;
Result := Path;
end; |
Quelle: http://www.delphipraxis.net |
Syntax:
|
Edit1.Text :=
GetSpecialFolder(CSIDL_APPDATA)
// zeigt den Pfad zu "Anwendungsdaten" im Edit1 an.
Oder besser -> ($1A) |
Weitere Verzeichnisse:
CSIDL_APPDATA |
$1A |
Anwendungsdaten des
Benutzers (CSIDL_COMMON_APPDATA [$23]für alle Benutzer) |
CSIDL_BITBUCKET |
|
Papierkorb |
CSIDL_COOKIES |
|
Cookies des Benutzers (CSIDL_COMMON_FAVORITES
für alle Benutzer) |
CSIDL_DESKTOP |
$0 |
Desktop |
CSIDL_MYPICTURES |
$27 |
Eigene Bilder |
CSIDL_PERSONAL |
$5 |
Eigene Dateien
|
CSIDL_PROGRAMS |
$2 |
"Programme" im Startmenü
|
CSIDL_STARTMENU |
$B |
Startmenü
Wurzelverzeichnis |
CSIDL_COMMON_STARTUP |
$0017 |
Startmenü
für alle Benutzer |
CSIDL_STARTUP |
|
Autostart (CSIDL_COMMON_STARTUP
für alle Benutzer) |
CSIDL_PROGRAM_FILES |
$26 |
Programme im
Windowsverzeichnis |
CSIDL_RECENT |
|
"Dokumente" im Startmenü
|
CSIDL_SENDTO |
|
"Senden an" im
Kontextmenü |
CSIDL_WINDOWS |
$24 |
Windows
Installationsverzeichnis |
CSIDL_SYSTEM |
$25 |
Windows
Systemverzeichnis |
|