bonjour,

Je suis en train de développer un service qui scrute une table contenant des enregistrements à faire et qui, lorsque l'on se situe dans la plage horaire de l'enregistrement, lance 2 instances de VLC.

VLC est pilotable à partir de lignes de commandes.

Dans mon service, j'ai donc la méthode suivante:
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
 
    Private Sub launchInstance(ByVal IdWork As Integer)
        Timer1.Enabled = False
        ProcessPartObj = New Process
        ProcessPartObj.StartInfo.FileName = "C:\VLC\vlc.exe"
        ProcessPartObj.StartInfo.Arguments = "udp://@" & IPMulticast & ":1234 --run-time=30 --loop --sout=#transcode{acodec=s16l,ab=32,channels=1}:duplicate{dst=std{access=file,mux=wav,dst=""C:\AudioFiles\ToDo\" & IdWork & "_%Y-%m-%d_%H-%M-%S.wav""}} --no-sout-keep"
        ProcessPartObj.Start()
 
        ProcessFullObj = New Process
        ProcessFullObj.StartInfo.FileName = "C:\VLC\vlc.exe"
        ProcessFullObj.StartInfo.Arguments = "udp://@" & IPMulticast & ":1234 --sout=#duplicate{dst=std{access=file,mux=ts,dst=""C:\AudioFiles\Full\" & IdWork & ".ts""}}"
        ProcessFullObj.Start()
        ProcessFullObj.WaitForExit(Duration * 1000)
 
        ProcessFullObj.CloseMainWindow()
        ProcessPartObj.CloseMainWindow()
        Timer1.Enabled = True
    End Sub
Cependant, lorsque mon service est démarré et qu'il doit lancer les 2 instances, rien ne se passe.

J'ai entendu dire que les services ne géraient pas les interfaces graphiques. JEst ce que quelqu'un pourrait me confirmer cela svp?

J'ai essayé de mettre en propriété du service "Autoriser le service à intéragir avec le bureau", mais ça ne marche pas non plus.

Une autre solution un peu plus sauvage serait d'exécuter un fichier *.BAT....mais je préfèrerais l'éviter.

Si quelqu'un pouvait me donner un conseil, une piste ce serait sympa...

Merci d'avance,

X@vier.