Udostępnij za pośrednictwem


ServiceController.ExecuteCommand(Int32) Metoda

Definicja

Wykonuje polecenie niestandardowe w usłudze.

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

Parametry

command
Int32

Flaga polecenia zdefiniowana przez aplikację wskazująca, które polecenie niestandardowe ma zostać wykonane. Wartość musi należeć do przedziału od 128 do 256 włącznie.

Wyjątki

Wystąpił błąd podczas uzyskiwania dostępu do interfejsu API systemu.

Nie można odnaleźć usługi.

Przykłady

Poniższy przykład kodu przedstawia użycie ServiceController.ExecuteCommand(Int32) metody do wykonywania niestandardowych poleceń w przykładzie SimpleService usługi.

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

Uwagi

Podczas wywoływania ExecuteCommandwywołania stan usługi nie zmienia się. Jeśli usługa została uruchomiona, stan pozostanie .Running Jeśli usługa została zatrzymana, stan pozostaje Stoppedi tak dalej. Aby przetworzyć polecenie niestandardowe, usługa musi zastąpić metodę OnCustomCommand i podać procedurę obsługi dla polecenia zidentyfikowanego command przez parametr .

Dotyczy

Zobacz też