ServiceControllerStatus 枚举

定义

指示服务的当前状态。Indicates the current state of the service.

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

字段

ContinuePending 5

服务即将继续。The service continue is pending. 这对应于 Win32 SERVICE_CONTINUE_PENDING 常数,该常数定义为 0x00000005。This corresponds to the Win32 SERVICE_CONTINUE_PENDING constant, which is defined as 0x00000005.

Paused 7

服务已暂停。The service is paused. 这对应于 Win32 SERVICE_PAUSED 常数,该常数定义为 0x00000007。This corresponds to the Win32 SERVICE_PAUSED constant, which is defined as 0x00000007.

PausePending 6

服务即将暂停。The service pause is pending. 这对应于 Win32 SERVICE_PAUSE_PENDING 常数,该常数定义为 0x00000006。This corresponds to the Win32 SERVICE_PAUSE_PENDING constant, which is defined as 0x00000006.

Running 4

服务正在运行。The service is running. 这对应于 Win32 SERVICE_RUNNING 常数,该常数定义为 0x00000004。This corresponds to the Win32 SERVICE_RUNNING constant, which is defined as 0x00000004.

StartPending 2

服务正在启动。The service is starting. 这对应于 Win32 SERVICE_START_PENDING 常数,该常数定义为 0x00000002。This corresponds to the Win32 SERVICE_START_PENDING constant, which is defined as 0x00000002.

Stopped 1

服务未运行。The service is not running. 这对应于 Win32 SERVICE_STOPPED 常数,该常数定义为 0x00000001。This corresponds to the Win32 SERVICE_STOPPED constant, which is defined as 0x00000001.

StopPending 3

服务正在停止。The service is stopping. 这对应于 Win32 SERVICE_STOP_PENDING 常数,该常数定义为 0x00000003。This corresponds to the Win32 SERVICE_STOP_PENDING constant, which is defined as 0x00000003.

示例

下面的示例使用ServiceController类来检查 TelNet 服务的当前状态。The following example uses the ServiceController class to check the current status of the TelNet service. 如果服务已停止, 则此示例将启动该服务。If the service is stopped, the example starts the service. 如果服务正在运行, 则此示例将停止服务。If the service is running, the example stops the service.

// 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.ToString());

if  ((sc.Status.Equals(ServiceControllerStatus.Stopped)) ||
     (sc.Status.Equals(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.ToString());


' 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)

注解

枚举由ServiceController类的实例使用, 用于指示现有服务是正在运行、已停止还是已暂停, 或者启动、停止、暂停或继续命令是否处于挂起状态。 ServiceControllerStatusThe ServiceControllerStatus enumeration is used by an instance of the ServiceController class to indicate whether an existing service is running, stopped, paused, or whether a Start, Stop, Pause, or Continue command is pending.

适用于

另请参阅