Sdílet prostřednictvím


Proměnné prostředí

Každý proces má blok prostředí, který obsahuje sadu proměnných prostředí a jejich hodnoty. Existují dva typy proměnných prostředí: proměnné uživatelského prostředí (nastavené pro každého uživatele) a systémové proměnné prostředí (nastavené pro všechny).

Podřízený proces ve výchozím nastavení dědí proměnné prostředí nadřazeného procesu. Programy spuštěné procesorem příkazů dědí proměnné prostředí procesoru příkazů. Pokud chcete zadat jiné prostředí pro podřízený proces, vytvořte nový blok prostředí a předejte ho jako parametr funkci CreateProcess.

Procesor příkazů poskytuje nastavit příkaz k zobrazení bloku prostředí nebo vytvoření nových proměnných prostředí. Proměnné prostředí můžete také zobrazit nebo upravit tak, že v ovládacích panelech ovládacích panelůvyberete Upřesnitnastavení systému a kliknete na Proměnné prostředí.

Každý blok prostředí obsahuje proměnné prostředí v následujícím formátu:

Var1=Value1\0
Var2=Value2\0
Var3=Value3\0
...
HodnotaN=HodnotaN\0\0

Název proměnné prostředí nesmí obsahovat rovnítko (=).

Funkce GetEnvironmentStrings vrátí ukazatel na blok prostředí volajícího procesu. To by mělo být považováno za blok jen pro čtení; neupravujte ho přímo. Místo toho použijte funkci SetEnvironmentVariable ke změně proměnné prostředí. Jakmile dokončíte blok prostředí získaný z GetEnvironmentStrings, zavolejte FreeEnvironmentStrings funkce uvolnit blok.

Volání SetEnvironmentVariable nemá žádný vliv na proměnné systémového prostředí. Pokud chcete programově přidat nebo upravit proměnné systémového prostředí, přidejte je do klíče registru HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment a pak vysílejte zprávu WM_SETTINGCHANGE s lParam nastavenou na řetězec Environment. To umožňuje aplikacím, jako je prostředí, vyzvednout aktualizace.

Maximální velikost proměnné prostředí definované uživatelem je 32 767 znaků. Pro velikost bloku prostředí neexistuje žádné technické omezení. Existují však praktická omezení v závislosti na mechanismu použitém pro přístup k bloku. Například dávkový soubor nemůže nastavit proměnnou, která je delší než maximální délka příkazového řádku.

Windows Server 2003 a Windows XP: Maximální velikost bloku prostředí procesu je 32 767 znaků. Počínaje systémem Windows Vista a Windows Server 2008 neexistuje žádné technické omezení velikosti bloku prostředí.

Funkce GetEnvironmentVariable určuje, zda je zadaná proměnná definována v prostředí volajícího procesu, a pokud ano, jaká je jeho hodnota.

Pokud chcete načíst kopii bloku prostředí pro daného uživatele, použijte funkci CreateEnvironmentBlock.

Pokud chcete rozšířit řetězce proměnných prostředí, použijte funkci ExpandEnvironmentStrings.

změna proměnných prostředí

proměnné uživatelského prostředí