ServiceController.Status 属性

定义

获取由此实例引用的服务的状态。Gets the status of the service that is referenced by this instance.

public:
 property System::ServiceProcess::ServiceControllerStatus Status { System::ServiceProcess::ServiceControllerStatus get(); };
[System.ServiceProcess.ServiceProcessDescription("SPStatus")]
public System.ServiceProcess.ServiceControllerStatus Status { get; }
member this.Status : System.ServiceProcess.ServiceControllerStatus
Public ReadOnly Property Status As ServiceControllerStatus

属性值

ServiceControllerStatus 值之一,指示服务是正在运行、已停止还是已暂停,或者启动、停止、暂停或继续命令被挂起。One of the ServiceControllerStatus values that indicates whether the service is running, stopped, or paused, or whether a start, stop, pause, or continue command is pending.

属性

异常

访问 API 时出错。An error occurred when accessing a system API.

未找到服务。The service was not found.

示例

下面的示例使用 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)

注解

状态指示服务的当前状态。The status indicates the current state of the service. 可能的值集包含多个,用于指示状态更改命令是否处于挂起状态。The set of possible values includes several that indicate whether a state-changing command is pending.

适用于