ServiceControllerStatus 枚举

定义

指示服务的当前状态。

public enum class ServiceControllerStatus
public enum ServiceControllerStatus
type ServiceControllerStatus = 
Public Enum ServiceControllerStatus
继承
ServiceControllerStatus

字段

ContinuePending 5

服务即将继续。 这对应于 Win32 SERVICE_CONTINUE_PENDING 常数,该常数定义为 0x00000005。

Paused 7

服务已暂停。 这对应于 Win32 SERVICE_PAUSED 常数,该常数定义为 0x00000007。

PausePending 6

服务即将暂停。 这对应于 Win32 SERVICE_PAUSE_PENDING 常数,该常数定义为 0x00000006。

Running 4

服务正在运行。 这对应于 Win32 SERVICE_RUNNING 常数,该常数定义为 0x00000004。

StartPending 2

服务正在启动。 这对应于 Win32 SERVICE_START_PENDING 常数,该常数定义为 0x00000002。

Stopped 1

服务未运行。 这对应于 Win32 SERVICE_STOPPED 常数,该常数定义为 0x00000001。

StopPending 3

服务正在停止。 这对应于 Win32 SERVICE_STOP_PENDING 常数,该常数定义为 0x00000003。

示例

以下示例使用 ServiceController 类检查 TelNet 服务的当前状态。 如果服务已停止,则示例将启动该服务。 如果服务正在运行,则示例将停止该服务。

// Toggle the Telnet service - 
// If it is started (running, paused, etc), stop the service.
// If it is stopped, start the service.
ServiceController^ sc = gcnew ServiceController(  "Telnet" );
if ( sc )
{
   Console::WriteLine(  "The Telnet service status is currently set to {0}", sc->Status );
   if ( (sc->Status == (ServiceControllerStatus::Stopped) ) || (sc->Status == (ServiceControllerStatus::StopPending) ) )
   {
      // Start the service if the current status is stopped.
      Console::WriteLine(  "Starting the Telnet service..." );
      sc->Start();
   }
   else
   {
      // Stop the service if its status is not set to "Stopped".
      Console::WriteLine(  "Stopping the Telnet service..." );
      sc->Stop();
   }

   // Refresh and display the current service status.
   sc->Refresh();
   Console::WriteLine(  "The Telnet service status is now set to {0}.", sc->Status );

// Toggle the Telnet service -
// If it is started (running, paused, etc), stop the service.
// If it is stopped, start the service.
ServiceController sc = new ServiceController("Telnet");
Console.WriteLine("The Telnet service status is currently set to {0}",
                  sc.Status);

if ((sc.Status == ServiceControllerStatus.Stopped) ||
    (sc.Status == ServiceControllerStatus.StopPending))
{
   // Start the service if the current status is stopped.

   Console.WriteLine("Starting the Telnet service...");
   sc.Start();
}
else
{
   // Stop the service if its status is not set to "Stopped".

   Console.WriteLine("Stopping the Telnet service...");
   sc.Stop();
}

// Refresh and display the current service status.
sc.Refresh();
Console.WriteLine("The Telnet service status is now set to {0}.",
                   sc.Status);

' Toggle the Telnet service - 
' If it is started (running, paused, etc), stop the service.
' If it is stopped, start the service.
Dim sc As New ServiceController("Telnet")
Console.WriteLine("The Telnet service status is currently set to {0}", sc.Status)

If sc.Status.Equals(ServiceControllerStatus.Stopped) Or sc.Status.Equals(ServiceControllerStatus.StopPending) Then
   ' Start the service if the current status is stopped.
   Console.WriteLine("Starting the Telnet service...")
   sc.Start()
Else
   ' Stop the service if its status is not set to "Stopped".
   Console.WriteLine("Stopping the Telnet service...")
   sc.Stop()
End If

' Refresh and display the current service status.
sc.Refresh()
Console.WriteLine("The Telnet service status is now set to {0}.", sc.Status)

注解

ServiceControllerStatus类的ServiceController实例使用 枚举来指示现有服务是否正在运行、已停止、已暂停,或者启动、停止、暂停或 Continue 命令是否挂起。

适用于

另请参阅