ServiceController.ExecuteCommand(Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
对服务执行自定义命令。
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
命令提供处理程序。