Export (0) Print
Expand All

ServiceController.ServiceName Property

Gets or sets the name that identifies the service that this instance references.

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

public:
property String^ ServiceName {
	String^ get ();
	void set (String^ value);
}
/** @property */
public String get_ServiceName ()

/** @property */
public void set_ServiceName (String value)

public function get ServiceName () : String

public function set ServiceName (value : String)

Property Value

The name that identifies the service that this ServiceController instance references. The default is an empty string ("").

Exception typeCondition

ArgumentNullException

The ServiceName is a null reference (Nothing in Visual Basic).

ArgumentException

The syntax of the ServiceName property is invalid.

The ServiceName identifies the service to the Service Control Manager. Changing this property causes the ServiceController instance to bind to another service, it does not change what the Service Control Manager's Microsoft Management Console snap-in displays.

When you are implementing a custom service, the value of this property must be identical to the name recorded for the service in the ServiceName property of the corresponding ServiceInstaller class. In code, the ServiceName is usually set in the main() function of the executable.

When you reset the ServiceName property, the method that sets the property sets this instance's DisplayName to an empty string ("").

The following example uses the ServiceController class to check whether the Alerter service is stopped. If the service is stopped, the example starts the service and waits until the service status is set to Running.

// Check whether the Alerter service is started.
ServiceController^ sc = gcnew ServiceController;
if ( sc )
{
   sc->ServiceName =  "Alerter";
   Console::WriteLine(  "The Alerter service status is currently set to {0}", sc->Status );
   if ( sc->Status == (ServiceControllerStatus::Stopped) )
   {
      // Start the service if the current status is stopped.
      Console::WriteLine(  "Starting the Alerter service..." );
      try
      {
         // Start the service, and wait until its status is "Running".
         sc->Start();
         sc->WaitForStatus( ServiceControllerStatus::Running );
         
         // Display the current service status.
         Console::WriteLine(  "The Alerter service status is now set to {0}.", sc->Status );
      }
      catch ( InvalidOperationException^ e ) 
      {
         Console::WriteLine(  "Could not start the Alerter service." );
      }
   }
}

// Check whether the Alerter service is started.
ServiceController sc = new ServiceController();
sc.set_ServiceName("Alerter");
Console.WriteLine("The Alerter service status is currently set to {0}",
    sc.get_Status().ToString());

if (sc.get_Status().Equals(ServiceControllerStatus.Stopped)) {
    // Start the service if the current status is stopped.
    Console.WriteLine("Starting the Alerter service...");
    try {
        // Start the service, and wait until its status is 
        // "Running".
        sc.Start();
        sc.WaitForStatus(ServiceControllerStatus.Running);
        // Display the current service status.
        Console.WriteLine("The Alerter service status is now set to {0}.",
            sc.get_Status().ToString());
    }
    catch (InvalidOperationException exp) {
        Console.WriteLine("Could not start the Alerter service.");
    }
}

  • Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see .

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft