ServiceController.ExecuteCommand(Int32) 方法

定义

对服务执行自定义命令。

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

参数

command
Int32

应用程序定义的命令标志,指示要执行的自定义命令。 此值必须介于 128 和 256 之间(均含)。

例外

访问 API 时出错。

未找到服务。

示例

下面的代码示例演示如何使用 ServiceController.ExecuteCommand(Int32) 该方法在 SimpleService 服务示例中执行自定义命令。

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

注解

调用 ExecuteCommand时,服务的状态不会更改。 如果服务已启动,状态将保持不变 Running。 如果服务已停止,状态将保持不变 Stopped,依此显示。 若要处理自定义命令,服务必须重写 OnCustomCommand 该方法,并为参数标识的 command 命令提供处理程序。

适用于

另请参阅