![]() |
Root in einen String "packen"
Mein Programm soll in den Eigenen Dateien arbeiten. Dafür muss es wissen, wo die sind, ei mir sind die z.B. auf D:\, ein anderer hat sie auf C:\.
Dann gibts den Unterschied zwischen ME(und tiefer) und XP d.h. in den Eigenen Dateien Unterordner für die angemeldeten Personen(gibts ja bei ME auch, allerdings werden das ja die meisten privat-Benutzer sicher lassen.). Wie kann ich jetzt rfPersonal in den String bekommen. Bsp:
Delphi-Quellcode:
Wobei dann "rfPersonal" der Root von den Eigenen Dateien wäre.
Copy(PChar("rfPersonal"+'help.txt'), PChar('C:\Temp\help.txt'), False);
Danke schonmal im voraus! |
Re: Root in einen String "packen"
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo F.W.,
um den Pfad der "Eigene Dateien" herauszubekommen, habe ich hier mal zwei Funktionen. 1. Generelle Funktion um spezielle Pfade zu holen
Delphi-Quellcode:
2. Die Funktion um den Pfad des Ordner ""Eigene Dateien" zu holen
function GetSpecialFolder(Folder: Integer): string;
var aPidl: PItemIDList; fLinkDir: string; begin if SUCCEEDED(SHGetSpecialFolderLocation(Application.Handle, Folder, aPidl)) then begin SetLength(fLinkDir, MAX_PATH); SHGetPathFromIDList(aPidl, PChar(fLinkDir)); SetLength(fLinkDir, StrLen(PChar(fLinkDir))); Result := fLinkDir; end; end;
Delphi-Quellcode:
noch die Unit "ShlObj" einbinden und das wars
function GetPersonalFolder: string;
begin Result := GetSpecialFolder(CSIDL_PERSONAL); end; bye |
Re: Root in einen String "packen"
Hi Duffy,
haben wir in dem Code nich was vergessen *g*, Zitat aus der Doku zu SHGetSpecialFolderLocation(): Zitat:
Delphi-Quellcode:
Eigentlich gehört auch noch ein CoInitialize() davor, aber ich hatte bisher nie Probleme ohne es.
var
ppMalloc: IMalloc; begin if SHGetMalloc(ppMalloc) = NOERROR then try // Hier dein Aufruf ... // Wenn Erfolg dann Versuch ... try // Hier kann noch mit der ItemID List gearbeitet werden finally ppMalloc.Free(pidl); end; finally // Bis hier kann man ppMalloc auch statt GetMem/FreeMem gebrauchen ppMalloc._Release; end; end; |
Re: Root in einen String "packen"
Danke, ich habe leider gerade keine Zeit, aber ich werde es mir anschauen, sobald ich wieder Zeit habe.
Danke!!!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz