zoukankan      html  css  js  c++  java
  • 利用C#查看特定服务是否安装

    需求:想通过C#代码来查看IIS服务或者MSMQ是否已经安装

    分析:IIS服务和MSMQ安装完成后都会创建windows服务,所以我们只需要查看对应的服务是否存在即可。

    准备工作

    IIS服务名称:World Wide Web Publishing Service

    MSMQ服务名称:Message Queuing

    代码实现

    1.创建一个类,用于检测服务是否存在:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 //添加引用
     6 using System.ServiceProcess;
     7 
     8 namespace ChangeName
     9 {
    10     public class ServiceCheck
    11     {
    12         /// <summary>
    13         /// 监测特定名称的服务是否存在
    14         /// </summary>
    15         /// <param name="serviceName">要检测的服务名称</param>
    16         /// <returns>存在true,不存在false</returns>
    17         public bool CheckService(string serviceName)
    18         {
    19             bool bCheck = false;
    20 
    21             //获取windows服务列表
    22             ServiceController[] serviceList = ServiceController.GetServices();
    23 
    24             //循环查找该名称的服务
    25             for (int i = 0; i < serviceList.Length; i++)
    26             {
    27                 if (serviceList[i].DisplayName.ToString() == serviceName)
    28                 {
    29                     bCheck = true;
    30                     break;
    31                 }
    32             }
    33             return bCheck;
    34         }
    35     }
    36 }
    View Code

    2.利用ConsoleApplication,进行验证。

     1         public static void Main(String[] args)
     2         {
     3             //实例化监测服务类
     4             ServiceCheck serviceCheck = new ServiceCheck();
     5 
     6             #region IIS监测
     7 
     8             bool bIIS = serviceCheck.CheckService("World Wide Web Publishing Service");
     9             Console.WriteLine("IIS服务器是否已安装: " + (bIIS ? "" : ""));
    10 
    11             #endregion
    12 
    13             #region MSMQ监测
    14 
    15             bool bMSMQ = serviceCheck.CheckService("Message Queuing");
    16             Console.WriteLine("MSMQ服务是否已安装:" + (bMSMQ ? "" : ""));
    17 
    18             #endregion
    19 
    20             Console.ReadKey();
    21 
    22         }
    View Code

    运行结果

  • 相关阅读:
    面试题9:斐波那契数列
    面试题5:从尾到头打印链表
    面试题4:替换空格
    AOP
    (转)父类与子类之间变量和方法的调用
    悲观锁和乐观锁
    Java实现冒泡排序、折半查找
    (转载)Java 自动装箱与拆箱、equals和==的比较
    编程之美:数组分割
    windows下perl的安装和脚本的运行
  • 原文地址:https://www.cnblogs.com/wangyblzu/p/5734019.html
Copyright © 2011-2022 走看看