Bonjour,

Je n'arrive pas à passer des variables d'environnement Windows entre deux programmes (exe),voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
' code programme 1
Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
    Dim r As String
    Dim r1 As String
    Dim r2 As String
    Dim envNom As String
    Dim envVersion As String
    envNom = programme
    envVersion = version
    r = Environment.GetEnvironmentVariable("vbnet1") ' lit
    If Trim(r) <> "" Then Exit Sub
    Environment.SetEnvironmentVariable("vbnet1", envNom) ' écrit
    Environment.SetEnvironmentVariable("vbnet2", envVersion)
    r1 = Environment.GetEnvironmentVariable("vbnet1") ' lit
    r2 = Environment.GetEnvironmentVariable("vbnet2") ' lit
    MsgBox(r1 & vbLf & r2) '  BON  ###
    'Environment.SetEnvironmentVariable("vbnet2", Nothing) ' efface
  End Sub
Mais au code du programme 2 que je lance ensuite manuellement (en laissant le 1 lancé), je ne peux plus récupérer le contenu des 2 variables, voici le code, où est l'erreur ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
' code programme exe 2
 Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim nomLogiciel As String
    Dim numeroVersion As String
    nomLogiciel = Environment.GetEnvironmentVariable("vbnet1") ' lit
    numeroVersion = Environment.GetEnvironmentVariable("vbnet2") ' lit
    MsgBox(nomLogiciel & vbLf & numeroVersion) ' VIDE  ###
  End Sub
Merci, cordialement.

Joe.
.