[Résolu] Comment manipuler les variables d'environnement par programme ?
Utilisateur WDF
Inscrit:
29/01/2006 17:03
Post(s): 78
Bonjour,

J'ai besoin d'ajouter et de modifier une variable d'environnement pour mon application via la base de registre :

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Le problème réside dans le fait que la prise en compte de cette variable nécessite le redémarrage de Windows.

Après quelques recherches j'ai vu sur la page suivante (dans la section 9 - Manipuler les variables d'environnement par programme) qu'il semble possible de forcer Windows à prendre en compte les modifications sans redémarrage.

http://castelain.developpez.com/articles/VariablesEnvironnement/

Mais je ne sais pas si ce type de manipulation est possible sous Windev et comment le faire ?

Par avance merci pour vos conseils.

Contribution le : 07/01/2008 10:23

Edité par Whaouu sur 7/1/2008 10:51:53
Edité par drcharly93 sur 8/1/2008 15:06:03
Créer un fichier PDF de la contribution Imprimer


Re: Comment manipuler les variables d'environnement par programme ?
Utilisateur WDF
Inscrit:
29/01/2006 17:03
Post(s): 78
Bon, en gros la commande devrait ressembler à ça :

API("User32", "SendMessageTimeoutA", "HWND_BROADCAST", "WM_SETTINGCHANGE ", "", "Environment", "SMTO_NORMAL", 200, "")

Je vais commencer les tests pour voir si cela fonctionne, mais vue mes connaissances sur les appels d'API, j'avance dans la plus profonde obscurité.

Documentation :

http://msdn2.microsoft.com/en-us/library/ms644952(VS.85).aspx

Contribution le : 08/01/2008 10:55
Créer un fichier PDF de la contribution Imprimer


Re: Comment manipuler les variables d'environnement par programme ?
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

A la volée,
Création ou mise à jour d'une variable d'environnement
exemple
sName est une chaine = "Test" 
sValue est une chaine = "OK" 
API("Kernel32","SetEnvironnementVariableA", sName, sValue)
[code]

pour visualiser les varibles environemments avec la nouvelle
[code]
sEnvironnement est une chaîne
sEnvironnement = SysEnvironnement()

Info(sEnvironnement)

Contribution le : 08/01/2008 11:30
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Comment manipuler les variables d'environnement par programme ?
Utilisateur WDF
Inscrit:
29/01/2006 17:03
Post(s): 78
Ops,

Je m'apprêtais à compléter mon message, le temps que je termine mes tests et que j'en vienne à la conclusion d'utiliser un SetEnvironnementVariableA suivit d'un SendMessageTimeoutA (pas vraiment util pour mon application, mais pour information cela permet d'informer les sous-processus de la modification d'une variable d'environnement).

Et je vois ta réponse !

En tout cas, merci beaucoup pour ta réponse.

Documentation :

http://msdn2.microsoft.com/en-us/library/ms686206.aspx

Contribution le : 08/01/2008 11:49
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2