ServiceController.Status Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает состояние службы, на которую ссылается данный объект.
public:
property System::ServiceProcess::ServiceControllerStatus Status { System::ServiceProcess::ServiceControllerStatus get(); };
public System.ServiceProcess.ServiceControllerStatus Status { get; }
[System.ServiceProcess.ServiceProcessDescription("SPStatus")]
public System.ServiceProcess.ServiceControllerStatus Status { get; }
member this.Status : System.ServiceProcess.ServiceControllerStatus
[<System.ServiceProcess.ServiceProcessDescription("SPStatus")>]
member this.Status : System.ServiceProcess.ServiceControllerStatus
Public ReadOnly Property Status As ServiceControllerStatus
Значение свойства
Одно из значений ServiceControllerStatus, определяющее состояние службы: запущена ли она, остановлена, приостановлена, а также ожидаются ли команды запуска, останова, паузы или возобновления работы службы.
- Атрибуты
Исключения
Произошла ошибка при обращении к API-интерфейсу системы.
Служба не была найдена.
Примеры
В следующем примере класс используется 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)
Комментарии
Состояние указывает текущее состояние службы. Набор возможных значений включает несколько, которые указывают, находится ли команда изменения состояния в состоянии ожидания.