Est-il un moyen de définir le chemin d'accès d'environnement par programmation en C++ sur Windows?
Est-il un moyen d'mondiale de la variable d'environnement path par programmation (C++)?
Aussi loin que je peux voir, putenv définit uniquement pour l'application en cours.
Changer directement dans le registre (HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)
est également une option si je préfère méthodes de l'API si il y a?
OriginalL'auteur LK. | 2009-02-10
Vous devez vous connecter pour publier un commentaire.
MSDN Dit:
L
préfixe. Exemple de code:SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)L"Environment", SMTO_ABORTIFHUNG, 5000, NULL);
OriginalL'auteur Assaf Lavie
Comme il a été souligné précédemment, afin de modifier le CHEMIN d'accès à la de la machine il suffit de changer cette entrée de registre:
Mais vous pouvez également définir le CHEMIN d'accès à la niveau de l'utilisateur par la modification de cette entrée de registre:
Et vous pouvez également définir le CHEMIN d'accès à la niveau de l'application par l'ajout de l'application\Chemin détails de cette entrée de registre:
OriginalL'auteur jussij
Il n'y a pas d'API - le changement de registre est la façon de le faire. La nouvelle valeur sera utilisée pour les procédés de départ après le changement a été fait.
Aussi: Notez que les applications doivent activement le processus de la modification des réglages de message et beaucoup (la plupart?) ne pas le faire.
OriginalL'auteur
Si vous voulez le faire par l'intermédiaire du registre, vous pouvez regarder le code source de cette programme.
Microsoft fournit également un petit utilitaire en ligne de commande appelé setx avec ses ressources de boîtes à outils, ce qui vous permettra de le faire. Par la manière, l'ensemble de commande vous permet de définir locales, variables d'environnement, je pense.
OriginalL'auteur drby
Oui, Vous avez raison.
Vous avez également besoin de l'effet de ces paramètres sans fermer la session
Envoyer un Message de borad casting à toutes les fenêtres SETTINGCHANGE pour le paramètre (LPARAM) "Environnement" avec SMTO_ABORTIFHUNG de quelques millisecondes(5000) à l'aide de SendMessageTimeout API.
C'est ce que setX.exe fourni avec le Kit de ressources.
OriginalL'auteur lakshmanaraj