Variables environnements [Résolu]

Signaler
Messages postés
8
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
19 juin 2008
-
Messages postés
8
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
19 juin 2008
-
Bonjour,

Je cherche à créer et supprimer des variables d'environnements. Ma première idée (créer/supprimer des valeurs dans la clé
"\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment") ne fonctionne pas car il faut que l'utilisateur ai les droits sur la clé ce qui n'est pas le cas de la plupart des utilisateurs.

Auriez-vous une idée peut-être du côté des API pour créer/supprimer des variables d'environnements ?

Par avance merci,

Stef

4 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Tu peux créer des variables d'environnment pour un processus que tu crées (CreateProcess), voir SetEnvironmentVariable() dans MSDN.

ciao...
BruNews, MVP VC++
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Une des solutions serait de demander à DOS de la créer avec la commande SET :
Ajout variable
   set toto=coucou
Liste (*)
   set
Pour la liste, la commande de VB : Environ, mais il semble qu'elle ne tienne pas compte des variables crées ultérieurement au démarrage de la session.
Suppression variable
   set toto=

Tu peux exécuter ces commandes DOS au travers d'un pipe. Cela facilte la récupération des données à un ordre DOS. Voir http://www.vbfrance.com/codes/CAPTURE-TEXTE-PROGRAMME-DOS-PIPE_6395.aspx

En fait, si je lis entre tes lignes, tu voudrais créer cette variable environnement ... mais qu'elle réapparaisse lors d'une future session Windows (Boule2Cristal V2.0) ?
Je ne connais pas d'autre solution que d'utiliser le fichier AutoExec.BAT pour l'insérer (fichier en général vide (sous XP) sur la racine de ton disque dur de boot).

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
8
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
19 juin 2008

Bonjour,

Merci à vous deux pour vos réponses.

La solution de Jack ne fonctionne pas, lorsque je fais un set, la variable n'est pas créée (lorsque je regarde via propriétés système/Avancé/Variables d'environnement elle est absente) ai-je mal compris quelquechose ?

Sous dos la ligne "SET TOTO=TITI" ne provoque pas d'erreur mais pas de variables TOTO dans la liste des variables d'environnement....etrange ?

BruNews je suis en train de me renseigner sur SetEnvironmentVariable() je vous tiens au courant.

Merci,
Stef
Messages postés
8
Date d'inscription
vendredi 27 octobre 2000
Statut
Membre
Dernière intervention
19 juin 2008

Bon nickel pour les api SetEnvironmentVariable()
Merci, encore