Delphi-Quellcode:
procedure TXMLParser1.SetENV(
const ENVName, ENVVar:
String);
Var
Reg : TRegistry;
aResult : Cardinal;
{Error Number returned from API Call}
begin
//SetEnvironmentVariable(PwideChar(ENVName),PwideChar(ENVVar));
//Exit;
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.OpenKey('
Environment',False);
Reg.WriteString(ENVName,ENVVar);
Reg.CloseKey;
FreeAndNil(Reg);
SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, LParam
(PChar('
Environment')), SMTO_ABORTIFHUNG, 5000, aResult);
{Display windows lasterror if the result is an error.}
if aResult <> 0
then
begin
SysErrorMessage(aResult);
end;
end;
So setze ich die Variablen.
Das geht auch wenn ich ein CMD öffne und SET eingeben sind die Variabeln da.