2010-02-08 5 views
0

Je développe un service Windows en Visual Basic, qui commencera un * .exe au démarrage. Ça marche plutôt bien. Maintenant, comment puis-je arrêter ce * .exe tout en arrêtant ce service Windows? Mon code est le suivant:Comment arrêter un exécutable externe dans VB.NET?

Public Class MyWinService 
Dim RetVal 
Protected Overrides Sub OnStart(ByVal args() As String) 
    EventLog.WriteEntry("MyService Started") 

    RetVal = Shell("JobService.exe", 1) 

End Sub 

Protected Overrides Sub OnStop() 
    EventLog.WriteEntry("MyService Stopped") 
End Sub 

Protected Overrides Sub OnPause() 
    EventLog.WriteEntry("MyService Paused") 
End Sub 

Protected Overrides Sub OnContinue() 
    EventLog.WriteEntry("MyService Resumed") 
End Sub 

Protected Overrides Sub OnCustomCommand(ByVal command As Integer) 
    If command = 200 Then 
     EventLog.WriteEntry("Custom Command 200 invoked") 
    ElseIf command = 210 Then 
     EventLog.WriteEntry("Custom Command 210 invoked") 
    End If 
End Sub 

Private Sub Process1_Exited(ByVal sender As System.Object, ByVal e As System.EventArgs) 

End Sub 
End Class 
+0

J'ai remarqué que vous utilisez des classes .NET, J'ai donc mis à jour le titre de la question et les balises pour clarifier que c'est VB.NET. – Powerlord

+0

Les exécutables ne sont pas arrêtés ou démarrés dans Windows. Les processus sont démarrés et arrêtés, et les exécutables sont chargés dans ces processus. –

Répondre

2

Utilisez la méthode Process.Kill. Cela suppose que vous avez le handle de processus de Process.Start, ou que vous l'avez obtenu d'une autre manière.

Comme vous l'avez déjà l'ID du processus de la commande Shell, vous pouvez récupérer le processus:

Dim myProcess = Process.GetProcessById(RetVal) 

Tuez-le:

myProcess.Kill() 
+0

La commande Shell renvoie l'ID de processus – Luhmann

+0

Merci d'avoir aidé, comme vous pouvez le voir, je n'utilise pas Process.Start dans mon code. Pouvez-vous être un peu plus précis? Je suis assez nouveau à VB. Je vous remercie. – Ray

Questions connexes