000
06.02.2006, 13:58 Uhr
~Hanss
Gast
|
Hi zusammen!
Ich möchte mit einem C-Programm 2 Umgebungsvariablen in MS DOS setzen und dann mithilfe eines system() - Befehls darauf zugreifen. Der Systembefehl soll im Detail ein netzlaufwerk anbinden, wobei in den Umgebungsvariablen der benötigte Benutzername und das Passwort zum Anbinden enthalten sind.
| C++: |
void main(int argc, char **argv) { _putenv("USER=Benutzer"); _putenv("PASSWD=beliebig"); system("net use s: \\Computer %PASSWD% /USER:%USER%"); _putenv("LMUSER="); _putenv("LMPASSWORT="); }
|
Das setzen der Umgebungsvariablen funktioniert, das Aufrufen des Befehls ebenfalls. Leider kann der durch system () aufgerufene Befehl nicht auf die Umgebungsvariablen zugreifen, da der System-Befehl in einer Sub-Shell ausgeführt wird und demnach die Umgebungsvariablen nicht "erreichen" kann.
Hat evtl. jemand von euch schonmal damit zutun gehabt und hat eine Idee dies zu umgehen oder alternativ-Ideen, die einen anderen WEg einschlagen und trotzdem das gleiche bewirken ?
Bin für jeden Tip dankbar!
Viele Grüße, Hanss |