ServiceController.Status プロパティ
アセンブリ: System.ServiceProcess (system.serviceprocess.dll 内)

サービスが実行中、停止、または一時中断しているかどうか、または開始、停止、一時中断、または続行コマンドが保留中かどうかを示す ServiceControllerStatus 値の 1 つ。



ServiceController クラスを使用して、Telnet サービスの現在のステータスを確認する例を次に示します。サービスが停止している場合、このコードはサービスを開始します。サービスが実行中である場合は、そのサービスを停止します。
' 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)
// 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. 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.get_Status().ToString()); if (sc.get_Status().Equals(ServiceControllerStatus.Stopped) || sc.get_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.get_Status().ToString());


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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ServiceControllerStatus 列挙体
アセンブリ: System.ServiceProcess (system.serviceprocess.dll 内)

Public Enumeration ServiceControllerStatus

メンバ名 | 説明 | |
---|---|---|
ContinuePending | サービスの継続は保留中です。これは、Win32 の (0x00000005 として定義されている) SERVICE_CONTINUE_PENDING 定数に対応しています。 | |
Paused | サービスは一時中断されています。これは、Win32 の (0x00000007 として定義されている) SERVICE_PAUSED 定数に対応しています。 | |
PausePending | サービスの一時中断は保留中です。これは、Win32 の (0x00000006 として定義されている) SERVICE_PAUSE_PENDING 定数に対応しています。 | |
Running | サービスは実行中です。これは、Win32 の (0x00000004 として定義されている) SERVICE_RUNNING 定数に対応しています。 | |
StartPending | サービスは開始中です。これは、Win32 の (0x00000002 として定義されている) SERVICE_START_PENDING 定数に対応しています。 | |
Stopped | サービスは実行されていません。これは、Win32 の (0x00000001 として定義されている) SERVICE_STOPPED 定数に対応しています。 | |
StopPending | サービスは停止中です。これは、Win32 の (0x00000003 として定義されている) SERVICE_STOP_PENDING 定数に対応しています。 |

ServiceControllerStatus クラスは、ServiceController クラスのインスタンスによって使用され、既存のサービスが実行、停止、一時中断のいずれの状態にあるのか、または Start、Stop、Pause、Continue のいずれのコマンドが保留中であるのかを示します。

ServiceController クラスを使用して、TelNet サービスの現在のステータスを確認する例を次に示します。サービスが停止している場合、このコードはサービスを開始します。サービスが実行中である場合は、そのサービスを停止します。
' 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)
// 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. 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.get_Status().ToString()); if (sc.get_Status().Equals(ServiceControllerStatus.Stopped) || sc.get_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.get_Status().ToString());

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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ServiceController.Statusのページへのリンク