Variables d’environnement utilisateur

Les variables d’environnement spécifient des chemins de recherche pour les fichiers, des répertoires pour les fichiers temporaires, des options spécifiques à l’application et d’autres informations similaires. Le système gère un bloc d’environnement pour chaque utilisateur et un pour l’ordinateur. Le bloc d’environnement système représente des variables d’environnement pour tous les utilisateurs de l’ordinateur particulier. Le bloc d’environnement d’un utilisateur représente les variables d’environnement que le système gère pour cet utilisateur particulier, y compris l’ensemble des variables d’environnement système.

Par défaut, chaque processus reçoit une copie du bloc d’environnement pour son processus parent. En règle générale, il s’agit du bloc d’environnement pour l’utilisateur connecté. Un processus peut spécifier différents blocs d’environnement pour ses processus enfants à l’aide de la fonction CreateProcess ou CreateProcessAsUser .

Pour ajouter ou modifier des variables d’environnement, l’utilisateur sélectionne Systèmedans le Panneau de configuration, puis sélectionne l’onglet Environnement. L’utilisateur peut également ajouter ou modifier des variables d’environnement à une invite de commandes à l’aide de la commande set. Les variables d’environnement créées avec la commande set s’appliquent uniquement à la fenêtre de commande dans laquelle elles sont définies et à ses processus enfants. Pour plus d’informations, tapez set /? à une invite de commandes.

Pour récupérer une copie du bloc d’environnement pour un utilisateur donné, utilisez la fonction CreateEnvironmentBlock . Pour libérer un bloc d’environnement créé par CreateEnvironmentBlock, utilisez la fonction DestroyEnvironmentBlock . Ces fonctions font référence à un pointeur vers un bloc d’environnement. Le bloc d’environnement est un tableau de chaînes Unicode terminées par null. La liste se termine par deux valeurs null (\0\0).

Pour développer une chaîne qui contient des variables d’environnement à l’aide du bloc d’environnement d’un utilisateur spécifié, utilisez la fonction ExpandEnvironmentStringsForUser .