.Net Frameworkを使用して、Windowsで稼働中のサービス一覧を取得するにはSystem.ServiceProcessパッケージのServiceControllerクラスを使用します。
下記のコードで、全サービス一覧の列挙と、サービスの起動状態を取得できます。
static void Main( string[] args ) { //--------------------- // サービス一覧を取得 //--------------------- System.ServiceProcess.ServiceController[] controllerList; controllerList = ServiceController.GetServices(); //------------------------------- // 取得した全サービスを列挙する //------------------------------- foreach( ServiceController controller in controllerList ) { // サービスの起動状況を取得 string statusName; switch( controller.Status ) { case ServiceControllerStatus.ContinuePending: statusName = "保留中"; break; case ServiceControllerStatus.Paused: statusName = "一時中断"; break; case ServiceControllerStatus.PausePending: statusName = "一時中断の保留中"; break; case ServiceControllerStatus.Running: statusName = "実行中"; break; case ServiceControllerStatus.StartPending: statusName = "開始中"; break; case ServiceControllerStatus.Stopped: statusName = "停止"; break; case ServiceControllerStatus.StopPending: statusName = "停止中"; break; default: statusName = "不明"; break; } // サービス名と、起動状態を出力する System.Console.WriteLine( "------------------------------------------" ); System.Console.WriteLine( controller.ServiceName ); System.Console.WriteLine( " 名称: " + controller.DisplayName ); System.Console.WriteLine( " 状態: " + statusName ); } } |
このプログラムを実行すると、以下のようにサービス一覧が表示されます。
関連記事
コメントを残す