C# で Windows サービスのステータスを確認する
Windows サービスと通信するアプリケーションでは、サービスが通信を開始する前に実行中です。 C# でこれを実現する方法は次のとおりです。
-
System.ServiceProcess 名前空間を追加します。
System.ServiceProcess を使用してインクルードします。プロジェクト内で必要な ServiceController オブジェクトにアクセスします。
-
ServiceController インスタンスを作成します:
確認するサービスの名前を指定して ServiceController オブジェクトをインスタンス化します (例: ServiceController sc =新しいServiceController(SERVICENAME);).
-
サービス ステータスの取得:
ServiceController の Status プロパティは、サービスの現在のステータスを提供します。これにアクセスして、サービスが実行中かどうかを確認します。
-
ステータス値の解釈:
Status プロパティは、それぞれの特定の状態に対応するさまざまな値を返すことができます。サービス:
- ServiceControllerStatus.Running
- ServiceControllerStatus.Stopped
- ServiceControllerStatus.Paused
- ServiceC ontrollerStatus.StopPending
- ServiceControllerStatus.StartPending
- ServiceControllerStatus.StatusChanging
-
Refreshステータス (オプション):
ステータスを再度取得する必要がある場合は、Status プロパティに再度アクセスする前に sc.Refresh() を呼び出します。
ヒント:
- ServiceController は、特定のステータスを待機できる WaitforStatus() メソッドも提供します。
- 必要に応じて、さまざまなステータス値のエラー処理をカスタマイズできます。
- ServiceController オブジェクトの詳細については、Microsoft のドキュメントを参照してください。
以上がC# を使用して Windows サービスが実行されているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。