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

C# アプリケーションから Windows サービスのステータスを確認するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-04 13:20:39758ブラウズ

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

C# アプリケーションから Windows サービスのステータスを確認する

Windows XP Embedded で実行されている C# アプリケーションでは、特定の Windows サービスがサービスは現在アクティブです。これは、アプリケーションが Windows サービスとして実装されたウォッチドッグとの通信に依存している場合に特に便利です。これを実現するには、次の手法を検討してください。

System.ServiceProcess 名前空間の使用:

アプリケーションに System.ServiceProcess 名前空間を組み込み、ServiceController クラスを利用して対話します。 Windows サービスを使用します。

using System.ServiceProcess;

ServiceController sc = new ServiceController(serviceName);

サービスの確認Status:

ServiceController の Status プロパティを使用して、サービスの現在のステータスを取得します。可能な値含まれるもの:

  • 実行中
  • 停止
  • 一時停止
  • 停止Pendi ng
  • StartPending
  • StatusChanging
switch (sc.Status)
{
    case ServiceControllerStatus.Running:
        // Service is running
        break;
    // Handle other status values here...
}

Refreshing Status:

サービスの最新のステータスを取得するには、Status プロパティを確認する前に ServiceController の Refresh() メソッドを呼び出します。

注: ServiceController クラスの WaitforStatus() メソッドを使用すると、指定したタイムアウト期間内に特定のステータスを待機できます。この手法は、特定のシナリオで役立つ場合があります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。