Hallo,
wer weiss wie ich in C++ Umgebungsvariablen (z.B. path=".;c:") setzen kann?
Danach möchte ich einen Prozess, mit den gesetzten Umgebungsvariablen, starten.
Wie sieht der entsprechende Quellcode aus?
Vielen Dank und
MfG
Jörg
Hallo,
wer weiss wie ich in C++ Umgebungsvariablen (z.B. path=".;c:") setzen kann?
Danach möchte ich einen Prozess, mit den gesetzten Umgebungsvariablen, starten.
Wie sieht der entsprechende Quellcode aus?
Vielen Dank und
MfG
Jörg
was genasu willst du machen? auslesen zb. txt oder starten von exe dateien?
Hi Jörg,
das hängt ein bisschen vom genutzten Betriebssystem ab, aber die Problematik ist eigentlich überall gleich:
Der Befehl wäre theoretisch
system(„setenv path …“);
Zum Ausführen dieses Befehls wird jedoch eine neue Shell gestartet (bei DOS command.com), welche das komplette Environment (also auch alle Umgebungsvariablen) von der Vatershell (diejenige, in welcher Du Dein C+±Programm gestartet hast) erbt. Diese neu gestartete Shell stirbt jedoch nach Beendigung des Befehl, sodass Deine Änderung der Variable zum Teufel ist.
Ein gangbarer Weg wäre, dass Du über den system-Befehl eine Batchdatei folgenden Inhalts aufrufst:
path=".;c:"
meinprogramm
So ist sichergestellt, dass „meinprogramm“ in einer Shell ausgeführt wird, welche bereits die veränderte Umgebungsvariable ererbt hat.
Gruß
Ted
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Thanks
was genasu willst du machen? auslesen zb. txt oder starten von
exe dateien?
Ich will zuerst die Umgebungsvariablen setzen und dann eine *.exe starten. (mit den neuen Umgebungsvariablen),
Es gibt in stdlib.h eine Funktion setenv().
Schau die dir mal an.
Bruno