Setter une variable d'environment pour tous les processus.(XP/2000) - C++ - Programmation
Marsh Posté le 14-04-2005 à 22:22:10
Voila, j'ai trouvé la réponse à mon problème, si il y a des interessé qu'il me le fasse savoir.
Marsh Posté le 15-04-2005 à 00:25:49
ReplyMarsh Posté le 15-04-2005 à 13:46:28
HelloWorld a écrit : Pourquoi tu donnes pas la solution directement |
Parce que sur ce forum, lorsque j'ouvre la discussion sur un probleme, il n'y a jamais personne pour me répondre, par contre pour faire des polimiques et critiquer, il y a toujours quelqu'un.
Marsh Posté le 15-04-2005 à 15:03:04
P'tet que tu poses mal les questions, ou que personne ne sait. Et si personne ne sait, ça fait avancer le schmilblick de donner la solution...
Marsh Posté le 15-04-2005 à 15:10:19
Et en utilisant la fonction
system(machaine);
ou machaine est une "string" contenant : SET NomVar....
Je sais pas si je m'exprime bien mais bon... Moi je le ferais comme ça
Marsh Posté le 15-04-2005 à 19:48:33
HelloWorld a écrit : P'tet que tu poses mal les questions, ou que personne ne sait. Et si personne ne sait, ça fait avancer le schmilblick de donner la solution... |
Est- ce que tu as compris ma question ?
Marsh Posté le 15-04-2005 à 20:14:13
babar9160 a écrit : Et en utilisant la fonction |
Salut Babar, en aucun cas ta solution fonctionnera, ce que je veux comme resultat, c'est le meme resultat que lorsque tu vas dans "Panneau de configuration", "Système", tab "Avancé", bouton "Variable d'environment".
Marsh Posté le 16-04-2005 à 12:22:34
bah fo énumérer les process et y doit bien y avoir une API qui permet de changer les variables d'environnement d'un process donné.
je vois un peu ta solution, mais si le process a déjà récupéré les variables d'environnement qui l'interressait, le changement changera rien non ?
Marsh Posté le 16-04-2005 à 15:35:03
Pas besoin de chercher le processus, que de toute facon on ne connais pas son nom..
En faites sans le savoir ma réponse était compris dans la question.
Il faut setter la variable souhaitée dans
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
ou selon votre preference dans
HKEY_CURRENT_USER\Environment
Ensuite appeler la fonction suivante avec les parametres suivants.
Code :
|
Voila pour ceux qui sont interesser voici un petit programme de test, qui prouve mes dires
c'est un programme Kleenex, SVP, ne le réeutiliser pas à moins de lui faire faire un gros refactoring. (comme dirais qqun, c'est du C+, pas du C++)
Code :
|
Marsh Posté le 16-04-2005 à 16:45:58
maxmoi_la a écrit : Est- ce que tu as compris ma question ? |
Moi j'avais compris que tu voulais changer les variables d'env des process en cours d'exécution.
Note que les variables d'env persistantes sont définies dans autoexec.bat sous Win9x/Me.
Marsh Posté le 17-04-2005 à 21:16:20
HelloWorld a écrit : Moi j'avais compris que tu voulais changer les variables d'env des process en cours d'exécution. |
Ce que je veux dire, c'est que si quelque ne comprend pas ce que je dis ca peut arriver, mais si qqun comprend partiellement la question et qu'il se sent apte à répondre, il faut pas qu'il se gene dans demander +. C'est pas grave si qqun dit une connerie, au moins ca fait avancer le schimili... schmilili... le schmilbick.
Mais en general je me veille de decrire suffisament bien un probleme pour qu'on puisse y repondre. C'est pour ca que ca me frustre, que personne n'intervienent.
J'aimerrai vous dire merci à tous les persones qui ce sont intéressés à mon problème.
Marsh Posté le 17-04-2005 à 22:51:03
en fait c'est meilleur esprit de donner la réponse tout de suite pour archivage dans le forum, même si personne ne semble interressé, que l'approche "si vous me le demandez gentilment je vous dirais comment"....
Marsh Posté le 18-04-2005 à 19:36:34
Oui mais bon ici ça reste un forum assez généraliste quand même. Si tu as des questions très pointues, c'est pas le meilleur endroit, d'où mon
Citation : P'tet que [...] personne ne sait |
Marsh Posté le 18-04-2005 à 23:10:37
HelloWorld a écrit : Oui mais bon ici ça reste un forum assez généraliste quand même. Si tu as des questions très pointues, c'est pas le meilleur endroit, d'où mon |
Pourrais tu stp m'indiquer un Forum ou je peux poser des questions très pointue, comme ca je ne viendrais plus vous embeter avec mes questions très pointue.
Marsh Posté le 18-04-2005 à 23:36:23
bjone a écrit : en fait c'est meilleur esprit de donner la réponse tout de suite pour archivage dans le forum, même si personne ne semble interressé, que l'approche "si vous me le demandez gentilment je vous dirais comment".... |
Je suis d'accord avec cet esprits, sauf que si je n'avais pas fais ça, ce sujet serrait rester inintéressant et mis aux oubliette, alors que dans le cas présent des personnes sont intervenues et ont permit d'éclaircir certaine incompréhension de la donnée du problème.
Pour ma part je n'ai aucun intérêt a donner la réponse à des personnes qui on n'ont rien à secouer. Et pas plus d'intérêt à perdre du temps à chercher la réponse sur un forum ou personne ne semble être capable de m'informer, puisque au final, je devrait quand même trouver la réponse pas mes propres moyens.
La reflexion à ce faire pour tous membres d'un forum et de savoir si ils prennent du temps pour les autres ?
La reflexion pour moi et de savoir si je me trouve sur le bon Forum ?
Marsh Posté le 18-04-2005 à 23:58:15
ça arrive que personne ne sache ce que tu souhaites, et si tu arrives à trouver la solution, ce n'est pas une raison pour sortir:
Citation : Voila, j'ai trouvé la réponse à mon problème, si il y a des interessé qu'il me le fasse savoir. |
avec le
moi ça m'est déjà arrivé une ou deux fois de poser une question et de trouver la réponse, ou alors de m'être fait chier pour un truc et de poster juste un topic pour un gars qui ferait une recherche ultérieure.
Marsh Posté le 19-04-2005 à 00:26:24
Pour les questions très pointues, faut aller sur les newsgroups (en anglais souvent).
Marsh Posté le 19-04-2005 à 00:36:24
bjone a écrit : moi ça m'est déjà arrivé une ou deux fois de poser une question et de trouver la réponse, ou alors de m'être fait chier pour un truc et de poster juste un topic pour un gars qui ferait une recherche ultérieure. |
C'est genereux de ta part.
Le smiley, c'est pas méchant ca remplace juste le NA! ca change de ceux qui ont toujours le sourir
Marsh Posté le 12-04-2005 à 23:33:33
Sur XP/2000, j'aimerai setter une variable d'environment pour tous les processus depuis un porgramme. Tel qu'il est possible de le faire depuis le panneau de configuration->system->avancé->variable d'env...
L'appel de la fonction SetEnvironmentVariable ne me convient pas puisque elle affecte uniquement le processus courent ainsi que ses enfants.
modifier le contenu du registre à l'adresse suivante ne me convient pas, car je veux faire ces modifications sans rebooter ma machine.
'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment'
Message édité par maxmoi_la le 12-04-2005 à 23:34:19