Variable d'environnement

jep93 Messages postés 2 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 14 novembre 2003 - 4 nov. 2003 à 07:04
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 14 nov. 2003 à 10:18
Mon problème est de modifier par programme une variable d'environnement définie au niveau système.

Ce que je sais :
Lors de l'activation d'un programme ou l'ouverture d'une session Dos, une copie des variables d'environnement définies au niveau du système est fournie à la nouvelle instance. Cette dernière pourra en prendre connaissance (API GetEnvironmentVariable), les modifier, les supprimer ou en créer de nouvelles (API SetEnvironmentVariable) mais ces changements ne seront connus que de cette instance ou de ses descendants (WinExec).
Les variables d'environnement au niveau du système sont initialisées lors de l'installation de Windows à partir de la ruche HKLM\System\CurrentControlSet\Control\Session Manager\Environment de la base des registres. Une modification d'une valeur au niveau de la registry ne sera prise en compte que lors du prochain reboot.

Ce que je veux obtenir :
Modifier une variable d'environnement au niveau système afin que tous les applicatifs activés après cette modification prennent en compte ce changement et ce, bien sur, sans avoir à rebooter.

Ce que suppose :
La solution doit se trouver dans un échange DDE avec SysDM.cpl (l'extension Système du Panneau de Configuration) mais je ne connais pas les termes du dialogue.

Remerciements

3 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 33
11 nov. 2003 à 08:42
Voir l'article de Pierre CASTELAIN sur le forum Delphi de Developpez.com en date du 10/11/2003.
May Delphi be with you
0