Meilleur auteur de réponses
Problème sur variable d'environnement ?

Question
-
Bonjour,
Je n'arrive pas à faire fonctionner les variables d'environnement (si ça marche encore en vbNet Vista ?) ?
Quand je lis la variable elle est vide, voici mon code :
Public Class Form1 Private Declare Function SetEnvironmentVariable Lib "kernel32" Alias _ "SetEnvironmentVariableA" (ByVal lpName As String, _ ByVal lpValue As String) As Long Private Declare Function GetEnvironmentVariable Lib "kernel32" Alias _ "GetEnvironmentVariableA" (ByVal lpName As String, _ ByVal lpBuffer As String, ByVal nSize As Long) As Long Dim nomLogiciel As String = "vbNet couleurs et pixels" Dim numeroVersion As String = "1.0 © 2010 -2010" Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim varRecupe As String = "" ' a propos EXE SetEnvironmentVariable("nomLogiciel", nomLogiciel) ' stock SetEnvironmentVariable("numeroVersion", numeroVersion) GetEnvironmentVariable("nomLogiciel", varRecupe, Len(nomLogiciel)) ' destock MsgBox(varRecupe) End Sub End Class
Merci, cordialement.
Joseph Attila PUSZTAY
EhJoe Logiciels Romans Ecrire
Réponses
-
Bonjour,
Utilisez directement les méthodes Environment.GetEnvironmentVariable() et Environment.SetEnvironmentVariable() : http://msdn.microsoft.com/fr-fr/library/system.environment.setenvironmentvariable(VS.80).aspx et http://msdn.microsoft.com/fr-fr/library/system.environment.getenvironmentvariable(VS.80).aspx.
Cordialement
Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- Proposé comme réponse JeremyJeansonMVP mardi 24 août 2010 14:58
- Marqué comme réponse Gilles TOURREAUModerator mercredi 25 août 2010 07:44
-
- Marqué comme réponse EhJoe mercredi 25 août 2010 07:27
Toutes les réponses
-
Bonjour Joseph,
Dans ton projet, quel est l'interret de passer par ces variables ?
Jérémy Jeanson MCP, MCTS http://blogs.codes-sources.com/JeremyJeanson/ (French or English spoken) -
Bonjour,
Utilisez directement les méthodes Environment.GetEnvironmentVariable() et Environment.SetEnvironmentVariable() : http://msdn.microsoft.com/fr-fr/library/system.environment.setenvironmentvariable(VS.80).aspx et http://msdn.microsoft.com/fr-fr/library/system.environment.getenvironmentvariable(VS.80).aspx.
Cordialement
Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- Proposé comme réponse JeremyJeansonMVP mardi 24 août 2010 14:58
- Marqué comme réponse Gilles TOURREAUModerator mercredi 25 août 2010 07:44
-
Bonjour Jérémy,
Bonne réponse tu marques un point :o)
Ben, l'intérêt est de mettre des datas disponibles pour n'importe quelle application, ah !
Je sais bien qu'il y a plein de façons pour ça, environnement, fichier, BDR ... Alors la variable d'environnement me semble la plus légère et transparent, a contrario le fichier est plus lourd et la BDR j'évite d'y toucher, la moindre erreur de code peut être handicapante...
Au plaisir, cordialement.
Joseph Attila PUSZTAY
EhJoe Logiciels Romans Ecrire -
Bonsoir Gilles,
Ouf, j'ai réussi à remettre ça en vb d'origine (sans fonction), la procédure fonctionne à l'exception d'une erreur sur la suppression de la variable, comment supprimer la variable s'il te plaît ?
Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim variable As String = "poker_exe" Dim value As String = "version .10" Dim contenuVariable As String Environment.SetEnvironmentVariable(variable, value) ' écrit contenuVariable = Environment.GetEnvironmentVariable(variable) ' lit Environment.SetEnvironmentVariable(variable, Nothing) ' supprime contenuVariable = Environment.GetEnvironmentVariable(variable) ' lit la suppression ERREUR MsgBox(variable) End Sub
Cordialement.
Joseph Attila PUSZTAY
EhJoe Logiciels Romans Ecrire -
- Marqué comme réponse EhJoe mercredi 25 août 2010 07:27