Variables de entorno de usuario

Las variables de entorno especifican rutas de búsqueda para archivos, directorios para archivos temporales, opciones específicas de la aplicación y otra información similar. El sistema mantiene un bloque de entorno para cada usuario y otro para el equipo. El bloque de entorno del sistema representa variables de entorno para todos los usuarios del equipo determinado. El bloque de entorno de un usuario representa las variables de entorno que mantiene el sistema para ese usuario en particular, incluido el conjunto de variables de entorno del sistema.

De forma predeterminada, cada proceso recibe una copia del bloque de entorno para su proceso primario. Normalmente, este es el bloque de entorno para el usuario que ha iniciado sesión. Un proceso puede especificar distintos bloques de entorno para sus procesos secundarios mediante la función CreateProcess o CreateProcessAsUser .

Para agregar o modificar variables de entorno, el usuario selecciona Sistema en el Panel de control y, a continuación, selecciona la pestaña Entorno. El usuario también puede agregar o modificar variables de entorno en un símbolo del sistema mediante el comando set. Las variables de entorno creadas con el comando set solo se aplican a la ventana de comandos en la que se establecen y a sus procesos secundarios. Para obtener más información, escriba set /? en un símbolo del sistema.

Para recuperar una copia del bloque de entorno para un usuario determinado, use la función CreateEnvironmentBlock . Para liberar un bloque de entorno creado por CreateEnvironmentBlock, use la función DestroyEnvironmentBlock . Estas funciones hacen referencia a un puntero a un bloque de entorno. El bloque de entorno es una matriz de cadenas Unicode terminadas en null. La lista termina con dos valores NULL (\0\0).

Para expandir una cadena que contiene variables de entorno mediante el bloque de entorno para un usuario especificado, use la función ExpandEnvironmentStringsForUser .