ServiceController.ExecuteCommand(Int32) Methode

Definition

Führt einen benutzerdefinierten Befehl für den Dienst aus.

public:
 void ExecuteCommand(int command);
public void ExecuteCommand(int command);
member this.ExecuteCommand : int -> unit
Public Sub ExecuteCommand (command As Integer)

Parameter

command
Int32

Ein anwendungsdefiniertes Befehlsflagge, das angibt, welcher benutzerdefinierte Befehl ausgeführt werden soll. Der Wert muss zwischen 128 und 256 (einschließlich) liegen.

Ausnahmen

Fehler beim Zugriff auf eine System-API.

Der Dienst wurde nicht gefunden.

Beispiele

Das folgende Codebeispiel zeigt die Verwendung der ServiceController.ExecuteCommand(Int32) Methode zum Ausführen von benutzerdefinierten Befehlen im SimpleService Dienstbeispiel.

using System;
using System.ServiceProcess;

namespace test_exec_cmnd
{
    class Program
    {
        private enum SimpleServiceCustomCommands { StopWorker = 128, RestartWorker, CheckWorker };
        static void Main(string[] args)
        {
            ServiceController myService = new ServiceController("SimpleService");
            myService.ExecuteCommand((int)SimpleServiceCustomCommands.StopWorker);
            myService.ExecuteCommand((int)SimpleServiceCustomCommands.RestartWorker);
            myService.ExecuteCommand((int)SimpleServiceCustomCommands.CheckWorker);
        }
    }
}
Imports System.ServiceProcess



Class Program
    
    Private Enum SimpleServiceCustomCommands
        StopWorker = 128
        RestartWorker
        CheckWorker '
    End Enum 'SimpleServiceCustomCommands

    Shared Sub Main(ByVal args() As String) 
        Dim myService As New ServiceController("SimpleService")
        myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.StopWorker))
        myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.RestartWorker))
        myService.ExecuteCommand(Fix(SimpleServiceCustomCommands.CheckWorker))
    
    End Sub
End Class

Hinweise

Wenn Sie den Dienst aufrufen ExecuteCommand, ändert sich der Status des Diensts nicht. Wenn der Dienst gestartet wurde, bleibt Runningder Status . Wenn der Dienst beendet wurde, bleibt Stoppedder Status usw. Um den benutzerdefinierten Befehl zu verarbeiten, muss der Dienst die OnCustomCommand Methode überschreiben und einen Handler für den durch den command Parameter identifizierten Befehl bereitstellen.

Gilt für:

Weitere Informationen