ServiceController.ExecuteCommand(Int32) Método

Definição

Executa um comando personalizado no serviço.

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

Parâmetros

command
Int32

Um flag de comando definido pela aplicação que indica qual comando personalizado executar. O valor deve estar entre 128 e 256, inclusive.

Exceções

Ocorreu um erro ao aceder a uma API do sistema.

O serviço não foi encontrado.

Exemplos

O exemplo de código seguinte mostra a utilização do ServiceController.ExecuteCommand(Int32) método para executar comandos personalizados no SimpleService exemplo do serviço.

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

Observações

Quando liga ExecuteCommand, o estado do serviço não muda. Se o serviço foi iniciado, o estado mantém-se Running. Se o serviço foi interrompido, o estado mantém-se Stopped, e assim sucessivamente. Para processar o comando personalizado, o serviço deve sobrescrever o OnCustomCommand método e fornecer um handler para o comando identificado pelo command parâmetro.

Aplica-se a

Ver também