Auch wenn es nur mittelbar mit dem eigentlichen Launcher zu tun hat, darf ich bitte noch zwei Fragen stellen, Luckie und die anderen, bitte?
Also 1. Wenn es dieses Verzeichnis "[jeweiliger Nutzer]\Anwendungsdaten" gibt und das ohnehin lokal ist, welchen Sinn hat dann noch das zusätzliche Verzeichnis "[jeweiliger Nutzer]\Lokale Einstellungen\Anwendungsdaten"
Und 2. Der Aufwand zur Ermittlung des jeweiligen Verzeichnisses (bzw. konkret dessen Pfades) über die jeweilige CSIDL ließe sich ggf. weiter reduzieren, nämlich über Umgebungsvariablen, am Beispiel des Anwendungsdaten-Verzeichnisses mit der vergleichsweise einfachen Funktion:
Delphi-Quellcode:
function ExpandEnvStr(const szInput: string): string;
const
MAXSIZE = 32768;
begin
SetLength(Result,MAXSIZE);
SetLength(Result,ExpandEnvironmentStrings(pchar(szInput),@Result[1],length(Result))-1); //-1 um abschließendes #0 zu verwerfen
end;
ExpandEnvStr('%Appdata%')
Ist das auch ein sicherer Weg, oder lassen sich solche Umgebungsvariablen "verfälschen", sodaß diese Ermittlung unsicher ist?
Danke und Gruß
Delphi-Laie
Edit: Funktion ergänzt, weil sie nicht mit Delphi mitgeliefert wird.