Partilhar via


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 sinalizador de comando definido pelo aplicativo que indica qual comando personalizado deve ser executado. O valor deve estar entre 128 e 256, inclusive.

Exceções

Ocorreu um erro ao acessar uma API do sistema.

O serviço não foi encontrado.

Exemplos

O exemplo de código a seguir mostra o uso do ServiceController.ExecuteCommand(Int32) método para executar comandos personalizados no exemplo de SimpleService 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

Comentários

Quando você chama ExecuteCommand, o status do serviço não é alterado. Se o serviço tiver sido iniciado, o status permanecerá Running. Se o serviço tiver sido interrompido, o status permanecerá Stoppede assim por diante. Para processar o comando personalizado, o serviço deve substituir o OnCustomCommand método e fornecer um manipulador para o comando identificado pelo command parâmetro .

Aplica-se a

Confira também