ホームページ > バックエンド開発 > C++ > C# で Windows サービスのステータスを確認するにはどうすればよいですか?

C# で Windows サービスのステータスを確認するにはどうすればよいですか?

DDD
リリース: 2024-12-31 22:08:11
オリジナル
358 人が閲覧しました

How Can I Check the Status of a Windows Service in C#?

C# での Windows サービスのステータスの確認

C# アプリケーションでは、特に次のような場合に、特定の Windows サービスが実行されているかどうかを確認する必要がある場合があります。これはアプリケーションの機能において重要な役割を果たします。これを実現する方法は次のとおりです。

System.ServiceProcess の使用

Windows サービスを操作するには、System.ServiceProcess 名前空間を利用できます。これを [.NET] タブのプロジェクト参照に追加します。

using System.ServiceProcess;
ログイン後にコピー

ServiceController: サービス ステータスへのブリッジ

ServiceController クラスは、コード間のブリッジとして機能します。そしてWindowsサービス。インスタンスを作成するには、対象のサービスの名前を渡します。

ServiceController sc = new ServiceController(SERVICENAME);
ログイン後にコピー

サービス ステータスの決定

ServiceController オブジェクトの Status プロパティは、サービスの現在の状態。 switch ステートメントを使用して、さまざまなステータスを処理できます。

switch (sc.Status)
{
    case ServiceControllerStatus.Running:
        return "Running";
    case ServiceControllerStatus.Stopped:
        return "Stopped";
    case ServiceControllerStatus.Paused:
        return "Paused";
    case ServiceControllerStatus.StopPending:
        return "Stopping";
    case ServiceControllerStatus.StartPending:
        return "Starting";
    default:
        return "Status Changing";
}
ログイン後にコピー

ヒント:

  • 毎回のステータスを取得する前に sc.Refresh() を使用して、最新のステータスを取得します。 check.
  • sc.WaitforStatus() メソッドは、タイムアウト内に特定のステータスが発生するのを待機できます。
  • ServiceController の詳細については、Microsoft のドキュメントを参照してください: https://docs.microsoft.com/en-us/dotnet/api/system.serviceprocess.servicecontroller?view=netframework-4.8

以上がC# で Windows サービスのステータスを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート