ホームページ >バックエンド開発 >C++ >Windows サービスが XP Embedded 上の C# で実行されているかどうかを確認する方法

Windows サービスが XP Embedded 上の C# で実行されているかどうかを確認する方法

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

How to Check if a Windows Service is Running in C# on XP Embedded?

Windows サービスが C# for XP Embedded で実行されているかどうかを確認する

ソフトウェア開発では、特定の Windows サービスが実行されているかどうかを確認することが必要になることがよくあります。特に通信することが重要な場合には、実行中です。 C# で Windows サービスのステータスを確認する信頼できる方法は次のとおりです (XP 組み込みで実行されている 2.0):

  1. System.ServiceProcess を参照に追加します: System.ServiceProcess アセンブリを含めます「.NET」タブの下のプロジェクトの参照として参照してください。
  2. ServiceController を作成します。インスタンス: 確認するサービスの名前 (例: "SERVICENAME") を使用して ServiceController オブジェクトをインスタンス化します。
  3. ステータスをオンにします: sc.Status を使用します。プロパティを使用してサービスの現在の状態を判断します。利用可能な状態は:

    • ServiceControllerStatus.Running
    • ServiceControllerStatus.Stopped
    • ServiceControllerStatus.Paused
    • ServiceCo ntrollerStatus.StopPending
    • ServiceControllerStatus.StartPending
    • ServiceControllerStatus.StatusChanging
  4. Returnステータス: ステータスに基づいて、サービスが実行中かどうかを示す適切な文字列または値を返します。

コード スニペットの例は次のとおりです:

using System.ServiceProcess;

ServiceController sc = new ServiceController(SERVICENAME);

switch (sc.Status)
{
    case ServiceControllerStatus.Running:
        return "Running";
    case ServiceControllerStatus.Stopped:
        return "Stopped";
    // Continue listing and returning status for other cases
}

注意してください。更新されたステータスを再度取得するには、sc.Status にアクセスする前に sc.Refresh() を呼び出す必要があります。詳細については、.NET の ServiceController オブジェクトに関する Microsoft ドキュメントを参照してください。

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

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