DOBON.NET

ローカルコンピュータのすべてのサービス(またはデバイスドライバサービスのみ)を取得する

デバイスドライバサービス以外のサービスを取得する

ServiceControllerクラスのGetServicesメソッドにより、ローカルコンピュータのデバイスドライバサービス以外のすべてのサービスを取得することができます。なお、ServiceControllerクラスはNT系OSでのみ使用できます。

次の例では、ローカルコンピュータのすべてのサービスを取得して表示しています。

VB.NET
コードを隠すコードを選択
'参照設定にSystem.ServiceProcess.dllが追加されているものとする。

Dim scs() As System.ServiceProcess.ServiceController
'デバイスドライバサービス以外の、ローカルコンピュータのすべてのサービスを取得
scs = System.ServiceProcess.ServiceController.GetServices()
'GetServices("machineName")のようにコンピュータ名を指定することも出来る
'ここで次のようにするとデバイスドライバサービスのみを取得できる
'scs = ServiceProcess.ServiceController.GetDevices();
'結果を表示する
Dim sc As System.ServiceProcess.ServiceController
For Each sc In scs
    '名前と状態を表示
    Console.WriteLine("サービスの表示名:{0} / 状態:{1}", _
        sc.DisplayName, sc.Status)
Next sc
C#
コードを隠すコードを選択
//参照設定にSystem.ServiceProcess.dllが追加されているものとする。

System.ServiceProcess.ServiceController[] scs;
//デバイスドライバサービス以外の、ローカルコンピュータのすべてのサービスを取得
scs = System.ServiceProcess.ServiceController.GetServices();
//GetServices("machineName")のようにコンピュータ名を指定することも出来る
//ここで次のようにするとデバイスドライバサービスのみを取得できる
//scs = ServiceProcess.ServiceController.GetDevices();

//結果を表示する
foreach (System.ServiceProcess.ServiceController sc in scs)
{
    //名前と状態を表示
    Console.WriteLine("サービスの表示名:{0} / 状態:{1}",
        sc.DisplayName, sc.Status);
}

デバイスドライバサービスを取得する

GetDevicesメソッドにより、デバイスドライバサービスのみを取得することができます。使い方はGetServicesメソッドと同じです。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • 「???を参照に追加します」の意味が分からないという方は、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。
共有する

この記事への評価

この記事へのコメント

この記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームへ移動します。通常のご質問、ご意見等は掲示板へご投稿ください。