![]() |
Vollständigen Dateinamen ermitteln aus "%ProgramFiles%\
Hallo,
wenn ich aus der Registry sowas auslese:
Delphi-Quellcode:
wie komme ich zu dem eigentlichen vollständigen Pfad?
"%ProgramFiles%\Windows Mail\WinMail.exe" /mailurl:"%1"
Parameter hinten werden bereits durch eine selbstgebastelte Funktion herausgefiltert (btw.: gibt es dafür irgendeine Standardfunktion?) Es bleibt also:
Delphi-Quellcode:
In diesem Fall könnte man bestimmt was mit SpecialFolder für Programmdateien machen oder sowas, denke ich, aber gibt es da eine Funktion, die solche "Platzhalter", sage ich mal, (wie "%ProgramFiles%") umwandelt und den eigentlichen Pfad zurückgibt?
"%ProgramFiles%\Windows Mail\WinMail.exe"
Meine Suche war bisher leider nicht von Erfolg gekrönt. |
Re: Vollständigen Dateinamen ermitteln aus "%ProgramFil
Delphi-Quellcode:
PS: Procedure vergessen
var
mailprog : string; begin mailprog := '%ProgramFiles%\Windows Mail\WinMail.exe'; ExpandEnvironmentVar(mailprog);
Delphi-Quellcode:
function ExpandEnvironmentVar(var Value: string): Boolean; // kopiert aus der JCL
var R: Integer; Expanded: string; begin SetLength(Expanded, 1); R := ExpandEnvironmentStrings(PChar(Value), PChar(Expanded), 0); SetLength(Expanded, R); Result := ExpandEnvironmentStrings(PChar(Value), PChar(Expanded), R) <> 0; if Result then begin StrResetLength(Expanded); Value := Expanded; end; end; |
Re: Vollständigen Dateinamen ermitteln aus "%ProgramFil
Versuch es mal mit
![]() |
Re: Vollständigen Dateinamen ermitteln aus "%ProgramFil
Moin Shadowman,
das sollte mit ![]() Was das Abschneiden von Parametern angeht: Fängt der Pfad mit einem " an, gehört alles, was zwischen dem ersten " und dem nächsten " steht zum Pfad. Fängt der Pfad nicht mit einem " an, gehört alles bis zum ersten Leerzeichen zum Pfad. Sollte kein Leerzeichen enthalten sein, ist der gesamte String der Pfad. |
Re: Vollständigen Dateinamen ermitteln aus "%ProgramFil
Zitat:
![]() |
Re: Vollständigen Dateinamen ermitteln aus "%ProgramFil
Hallo zusammen,
vielen Dank für Eure Antworten. So funktioniert es! War scheinbar nah dran (habe nach "expandpath" etc. gesucht), aber die Kombination aus einem brauchbaren Funktionnamen und der Unit hat wohl nicht gestimmt :) Zitat:
Danke noch mal! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 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