environment variables
-
Ich muß in meinem Programm Umgebungsvariabelen setzen.
Ich hab es schon mit der Funktion _putenv versucht. Diese ändert den Wert der Variable aber lediglich für den laufenden Prozess.
Hat einer eine Idee wie man das sonst machen könnte?
-
ich hab da m ne kleine Funktion gebaut... allerdings solltest du sowas näcshtmal besser im WinApi Forum fragen wenn ich das mal so sagen darf
bool set_globals(char* name, char* wert) { bool retval = SetEnvironmentVariable(name, wert); return retval; } char puffer[250]; char* get_globals(char* name) { GetEnvironmentVariable(name, puffer ,sizeof(puffer)); return puffer; }
-
thread verschoben ins WinApi Forum. WinAPI
-
unter der msdn Seite steht aber:
"The SetEnvironmentVariable function sets the contents of the specified environment variable for the current process.BOOL SetEnvironmentVariable( LPCTSTR lpName, LPCTSTR lpValue );
"
-
ja genau da steht "... of the current process".
Das bedeutet aber, wenn ich den Prozess wieder beende, sprich das Programm wird geschlossen, dann wird der Wert wieder auf seinen ursprünglichen Wert zurückgesetzt.
-
Mir ist gerade eine Idee gekommen. Da bräuchte ich aber noch ein bisschen Hilfe. Umgebungsvariablen sind doch eigentlich nichts anderes als Einträge in der Registry. Gibt es in C++ irgendeine Funktion die sowas macht?
-
hm wenn das so ist wieso machst du dan nicht ein nettes
system("SET variable=wert");
bzw dasselbe mit ShellExecute dessen Syntax ich aber immer wieder vergesse
zum auslesen kannst du dann wieder GetEnvironmentVariable nehmen, die geht mit allen Vars.