VB.NET: Comment faire un service (vb.net) ouvrant une application graphique ?

Caacrino Messages postés 8 Date d'inscription mardi 10 mai 2011 Statut Membre Dernière intervention 18 août 2011 - 29 juil. 2011 à 18:05
Caacrino Messages postés 8 Date d'inscription mardi 10 mai 2011 Statut Membre Dernière intervention 18 août 2011 - 1 août 2011 à 10:39
Bonjour,

Je recherche le moyen, à l'ouverture d'une session quelconque, d'ouvrir un programme (avec interface graphique) à partir d'un service windows réalisé sous vb.net.

Mon service vérifie que l'application est lancée, et si ce n'est pas le cas, sa tâche est de la lancer (via un timer qui contrôle la présence de l'application dans les processus). Ci-dessous, la portion de code que j'utilise dans mon service pour lancer mon application graphique:

    Private Function ProcessExists(ByVal NomProg As String) As Boolean
        Dim R As Boolean = False
        If Diagnostics.Process.GetProcessesByName(NomProg).Length < 1 Then
            R = False
        Else
            R = True
        End If
        Return R
    End Function

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If ProcessExists("BCK") = False Then
            Dim p As New Process
            p.StartInfo.FileName = Rep & "BCK.exe"
            p.StartInfo.
            p.StartInfo.WindowStyle = ProcessWindowStyle.Normal
            Try
                p.Start()
            Catch ex As Exception
                log(ex.Message)
            End Try
        End If
    End Sub


Mon service à l'air de bien faire son boulot à priori puisque je vois dans la liste des processus qu'il lance bien l'application, mais là ou ça bricole, c'est qu'on ne voit pas l'interface graphique de l'application malgré sa présence dans les processus, ce qui est ennuyeux en soit puisque le but c'est d'afficher mon interface dès qu'une session windows est ouverte (j'essaye de faire une interface pour ordinateur embarqué).

Merci d'avance pour votre aide !
A voir également:

3 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
29 juil. 2011 à 19:45
Bonjour,

As-tu regardé sur quel compte ton processus se lançait ?

Car si il se lance avec un compte System, c'est normal que tu ne le vois pas.

________________________________________________________________________
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
0
Utilisateur anonyme
29 juil. 2011 à 21:12
Bonsoir,
De mémoire, je pense qu'il faut que tu autorises ton service à interagir avec le bureau.
Je ne sais plus vraiment à toi de voir.
Panneau conf/ services/ clic droit sur ton service / propriétés / onglet connexion / cocher la case interagir avec le bureau.
Bonne nuit.
0
Caacrino Messages postés 8 Date d'inscription mardi 10 mai 2011 Statut Membre Dernière intervention 18 août 2011
1 août 2011 à 10:39
Bonjour et merci pour vos réponses les amis, malheureusement j'ai déjà essayé de lancer le service avec le compte de la session ouverte lors de mes tests sans résultat, j'ai également autorisé le service à interagir avec le bureau bien avant de poster ma question sur ce forum (suites à mes différentes recherches avec l'ami Google). Bref rien n'y fait, je n'ai toujours pas accès à l'interface graphique de l'application lancée par mon service, ma question reste donc toujours d'actualité...
0
Rejoignez-nous