Hallo Leute.
Meiner erster Post und gleich unverschämter weise ne Frage
Ich habe ein Konsolenprogramm geschrieben das mir zuerst den aktuellen Pfad in dem das Programm ausgeführt wird ausliest. Anschließend hole ich mir den Inhalt des Key´s Path aus der Registry in eine String Variable. An diese String Variable hänge ich dann ein Semikolon und den ausgelesenen aktuellen Pfad. Jetzt wird der Key Path in der Registry geöffnet und mit dem Inhalt des erweiterten Strings gefüllt.
Das Funktioniert auch alles so weit ganz gut.
Leider werden im Key Path in der Registry aber Wildcards wie %system% und ähnliches verwendet. Mein Programm liest und setzt aber leider die statischen Pfade und nicht die Wildcards. Das ist extrem schlecht.
Wie kann ich es also hinbekommen das er mir die Wildcards mit ausliest und auch wieder so zuückschreibt ????
Ich hänge hier auch nochmal mein Programm an
Code:
program PPath_Variable;
{$APPTYPE CONSOLE}
uses
SysUtils,
JCLSYSINFO,
Registry,
Windows;
const
name = 'Path' ;
var
dir, path : string;
regist: TRegistry;
begin
dir := GetCurrentDir;
GetEnvironmentVariable(name, path);
path := path+';'+dir;
regist:=TRegistry.Create;
try
regist.RootKey:=HKEY_LOCAL_MACHINE;
regist.OpenKey('\SYSTEM\ControlSet001\Control\Session Manager\Environment', true);
regist.WriteExpandString('Path', path);
regist.CloseKey;
finally
regist.free;
end;
end.
Vielen dank schonmal für eure Hilfe
Gruss Bastian