Vedek Bareil
2005-01-04, 17:01:10
Hallo,
ich hab folgendes Problem. Ich soll in einem Programm (in VC++ geschrieben) den Wert einer Umgebungsvariablen ändern. Nu gibt es dazu eine Funktion _putenv, mit der man das z.B. so machen könnte:
char szNewVal[] = "Neuer Wert";
char SysCom[64];
sprintf(SysCom, "ENV_VAR=%s", szNewVal);
_putenv(SysCom);
Allerdings steht in der VC++-Doku, daß der Wert von ENV_VAR auf diese Weise nur im Rahmen des laufenden Programmes verändert wird, nach Programmende ist er wieder zurückgesetzt. Gibt es eine Möglichkeit, den Wert dauerhaft zu verändern? Geht es vielleicht mit der Funktion system()?
Ich hab natürlich auch schon ein bißchen rumprobiert, aber ohne brauchbares Ergebnis ;)
ich hab folgendes Problem. Ich soll in einem Programm (in VC++ geschrieben) den Wert einer Umgebungsvariablen ändern. Nu gibt es dazu eine Funktion _putenv, mit der man das z.B. so machen könnte:
char szNewVal[] = "Neuer Wert";
char SysCom[64];
sprintf(SysCom, "ENV_VAR=%s", szNewVal);
_putenv(SysCom);
Allerdings steht in der VC++-Doku, daß der Wert von ENV_VAR auf diese Weise nur im Rahmen des laufenden Programmes verändert wird, nach Programmende ist er wieder zurückgesetzt. Gibt es eine Möglichkeit, den Wert dauerhaft zu verändern? Geht es vielleicht mit der Funktion system()?
Ich hab natürlich auch schon ein bißchen rumprobiert, aber ohne brauchbares Ergebnis ;)