Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
Delphi 11 Alexandria
|
AW: Wo müssen Applikationsdaten unter Win 7 gespeichert werden?
29. Mär 2012, 19:04
Du kannst die Funktion von Luckie verwenden:
http://michael-puff.de/Programmierun.../HOMEDIR.shtml
Delphi-Quellcode:
function GetShellFolder(CSIDL: integer): string;
var
pidl : PItemIdList;
FolderPath : string;
SystemFolder : Integer;
Malloc : IMalloc;
begin
Malloc := nil;
FolderPath := '';
SHGetMalloc(Malloc);
if Malloc = nil then
begin
Result := FolderPath;
Exit;
end;
try
SystemFolder := CSIDL;
if SUCCEEDED(SHGetSpecialFolderLocation(0, SystemFolder, pidl)) then
begin
SetLength(FolderPath, max_path);
if SHGetPathFromIDList(pidl, PChar(FolderPath)) then
begin
SetLength(FolderPath, length(PChar(FolderPath)));
end;
end;
Result := FolderPath;
finally
Malloc.Free(pidl);
end;
end;
Bsp.:
Delphi-Quellcode:
uses
..., Windows, ShlObj, ActiveX;
...
var
path: String;
begin
path := GetShellFolder(CSIDL_APPDATA);
path := IncludeTrailingPathDelimiter(path);
ShowMessage(path);
end;
Liste aller CSIDL-Konstanten:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx
|