ServiceController::Status Property


Gets the status of the service that is referenced by this instance.

Namespace:   System.ServiceProcess
Assembly:  System.ServiceProcess (in System.ServiceProcess.dll)

property ServiceControllerStatus Status {
	ServiceControllerStatus get();

Property Value

Type: System.ServiceProcess::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.

Exception Condition

An error occurred when accessing a system API.


The service was not found.

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.

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..." );
      // Stop the service if its status is not set to "Stopped".
      Console::WriteLine(  "Stopping the Telnet service..." );

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

.NET Framework
Available since 1.1
Return to top