Forums Neueste Beiträge
 

Dienst kann nicht gestoppt werden

05/01/2010 - 12:07 von Florian Schalk | Report spam
Hi,
ich möchte gerne über VB einen Dienst stoppen.
Beim ausführen des Codes unter Win7 mit VB express 2008 bekomme ich aber
immer die Fehlermeldung:
Der Dienst Service kann nicht auf dem Computer . geöffnet werden.

Der Code sieht so aus:

Imports System
Imports System.ServiceProcess
Imports System.Diagnostics
Imports System.Threading
Module Module1
Sub Main()
Dim sc As New ServiceController("Dnscache")
Console.WriteLine("Status = " + sc.Status.ToString())
Console.WriteLine("Can Stop = " + sc.CanStop.ToString())
sc.Stop()
End Sub
End Module

Die erste Consolen Ausgabe schreibt "running"
Die zweite schreibt "True"
Auf den Service kann also wohl zugegriffen werden.
Aber warum kann er nicht gestoppt werden.

Gruß
Florian
 

Lesen sie die antworten

#1 Thorsten Doerfler
05/01/2010 - 12:14 | Warnen spam
Florian Schalk schrieb:
ich möchte gerne über VB einen Dienst stoppen.
Beim ausführen des Codes unter Win7 mit VB express 2008 bekomme ich aber
immer die Fehlermeldung:
Der Dienst Service kann nicht auf dem Computer . geöffnet werden.

Der Code sieht so aus:

Imports System
Imports System.ServiceProcess
Imports System.Diagnostics
Imports System.Threading
Module Module1
Sub Main()
Dim sc As New ServiceController("Dnscache")
Console.WriteLine("Status = " + sc.Status.ToString())
Console.WriteLine("Can Stop = " + sc.CanStop.ToString())
sc.Stop()
End Sub
End Module

Die erste Consolen Ausgabe schreibt "running"
Die zweite schreibt "True"
Auf den Service kann also wohl zugegriffen werden.
Aber warum kann er nicht gestoppt werden.



Du musst berechtigt sein, Dienste zu steuern. Als Administrator bist Du
das normalerweise. Windows 7 setzt aber selbst Deinen Admin Account auf
einfache Benutzerrechte herunter, somit fehlt Dir das Recht, Dienste zu
steuern.

Lösung: Deine Anwendung explizit als Administrator ausführen. Kann auch
über das Application Manifest festgelegt werden.

Die CanStop Eigenschaft bei einem Dienst sagt nur aus, ob dieser das
Stop Kommando unterstützt.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen