Benutzerumgebungsvariablen

Umgebungsvariablen geben Suchpfade für Dateien, Verzeichnisse für temporäre Dateien, anwendungsspezifische Optionen und ähnliche Informationen an. Das System verwaltet einen Umgebungsblock für jeden Benutzer und einen für den Computer. Der Systemumgebungsblock stellt Umgebungsvariablen für alle Benutzer des jeweiligen Computers dar. Der Umgebungsblock eines Benutzers stellt die Umgebungsvariablen dar, die das System für diesen bestimmten Benutzer verwaltet, einschließlich der Gruppe von Systemumgebungsvariablen.

Standardmäßig empfängt jeder Prozess eine Kopie des Umgebungsblocks für den übergeordneten Prozess. In der Regel ist dies der Umgebungsblock für den angemeldeten Benutzer. Ein Prozess kann mithilfe der Funktion CreateProcess oder CreateProcessAsUser verschiedene Umgebungsblöcke für seine untergeordneten Prozesse angeben.

Um Umgebungsvariablen hinzuzufügen oder zu ändern, wählt der Benutzer system aus dem Systemsteuerung und dann die Registerkarte Umgebung aus. Der Benutzer kann auch Umgebungsvariablen an einer Eingabeaufforderung mit dem Befehl set hinzufügen oder ändern. Umgebungsvariablen, die mit dem Befehl set erstellt wurden, gelten nur für das Befehlsfenster, in dem sie festgelegt sind, und für die untergeordneten Prozesse. Für weitere Informationen geben Sie set /? an einer Eingabeaufforderung ein.

Verwenden Sie die Funktion CreateEnvironmentBlock , um eine Kopie des Umgebungsblocks für einen bestimmten Benutzer abzurufen. Verwenden Sie die Funktion DestroyEnvironmentBlock, um einen von CreateEnvironmentBlock erstellten Umgebungsblock frei zu setzen. Diese Funktionen verweisen auf einen Zeiger auf einen Umgebungsblock. Der Umgebungsblock ist ein Array von Unicode-Zeichenfolgen mit NULL-Beendigung. Die Liste endet mit zwei NULLs (\0\0).

Um eine Zeichenfolge mit Umgebungsvariablen mithilfe des Umgebungsblocks für einen angegebenen Benutzer zu erweitern, verwenden Sie die Funktion ExpandEnvironmentStringsForUser .