Переменные окружения
Каждый процесс имеет блок конфигурации, который содержит набор переменных окружения и их значений. Командный процессор предусматривают набор команд, который показывает на экране свой блок конфигурации или создает новые переменные окружения. Программы, запущенные командным процессором наследуют переменные окружения командного процессора.
По умолчанию, дочерний процесс наследует переменные окружения своего родительского процесса. Однако, Вы можете определить другую конфигурацию для дочернего процесса, создавая новый блок конфигурации и передавая указатель на него как параметр для функции
CreateProcess.Функция
GetEnvironmentStrings возвращает указатель на блок конфигурации вызывающего процесса. Последний должен рассматриваться как блок только для чтения; непосредственно не изменяемый. Вместо этого, используйте функцию SetEnvironmentVariable, чтобы изменить переменную окружения. Когда Вы завершите работу с блоком конфигурации, полученным от GetEnvironmentStrings, вызовите функцию FreeEnvironmentStrings, чтобы освободить блок.Вызов функции
SetEnvironmentVariable не имеет никакого воздействия на переменные конфигурации системы. Пользователь может добавлять или изменять переменные окружения системы, используя Панель управления (Windows). Чтобы программно добавить или изменить переменные конфигурации системы, их добавляют в ключ системного реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment , а затем, передают сообщение WM_SETTINGCHANGE. Это позволяет приложению, типа оболочки, принимать ваши модернизации.Функция
GetEnvironmentVariable выясняет, задана ли определяемая переменная в среде вызывающего процесса, и, если это так, каково ее значение.Для получения дополнительной информации, см. примеры в статье
Изменение переменных окружения.