Bonjour

VB.net version 2010.

J'ai testé la création d'un service Windows rudimentaire où je souhaiterais pouvoir récupérer dans le journal des événements le nom des process en cours.
Le service à l'air de fonctionner et je vois dans le log le lancement et l'arrêt du service quand j'y écris avec EventLog.WriteEntry.
Mais ...
quand j'essaie d'écrire le nom des process concaténés dans une variable, le contenu de la ligne dans le journal reste désespérément vide !
Ci-dessous mon code :
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
Public Class test_service
    Dim timer As System.Timers.Timer = New System.Timers.Timer()
    Dim S As String
 
    Protected Overrides Sub OnStart(ByVal args() As String)
 
        S = ""
        Me.AutoLog = True
        EventLog.WriteEntry("service démarré")
 
        timer.Interval = 5000 ' 5 secondes
        AddHandler timer.Elapsed, AddressOf Me.OnTimer
        timer.Start()
 
    End Sub
 
    Protected Overrides Sub OnStop()
        EventLog.WriteEntry("service stoppé")
        timer.Stop()
    End Sub
 
    Public Sub New()
 
        InitializeComponent()
 
    End Sub
 
    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub
 
    Private Sub OnTimer(ByVal sender As Object, ByVal e As Timers.ElapsedEventArgs)
 
        Dim ProcessAll() As Process = Process.GetProcesses()
        For i = 0 To UBound(ProcessAll)
            If ProcessAll(i).MainWindowTitle <> "" Then
                S = S & i & " - " & ProcessAll(i).MainWindowTitle & " - "
            End If
        Next
        EventLog.WriteEntry(S)
 
    End Sub
 
End Class
Qu'est ce que je n'ai pas compris ?

merci de votre aide
cordialement