zoukankan      html  css  js  c++  java
  • C#Windows服务:一些方法(启动、停止等)

      前面讲述了如何创建和安装服务(创建windows服务),下面把启动、停止、判断是否启动的方法也写一下。

           /// <summary>
            /// 判断是否安装了某个服务
            /// </summary>
            /// <param name="serviceName"></param>
            /// <returns></returns>
            public static bool ISWindowsServiceInstalled(string serviceName)
            {
                try
                {
                    ServiceController[] services = ServiceController.GetServices();
    
    
                    foreach (ServiceController service in services)
                    {
                        if (service.ServiceName == serviceName)
                        {
                            return true;
                        }
                    }
    
    
                    return false;
                }
                catch
                { return false; }
            }
    

      

       /// <summary>
            /// 启动某个服务
            /// </summary>
            /// <param name="serviceName"></param>
            public static void StartService(string serviceName)
            {
                try
                {
                    ServiceController[] services = ServiceController.GetServices();
    
    
                    foreach (ServiceController service in services)
                    {
                        if (service.ServiceName == serviceName)
                        {
                            service.Start();
    
    
                            service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 30));
                        }
                    }
                }
                catch { }
            }
    

      

    /// <summary>
            /// 停止某个服务
            /// </summary>
            /// <param name="serviceName"></param>
            public static void StopService(string serviceName)
            {
                try
                {
                    ServiceController[] services = ServiceController.GetServices();
    
    
                    foreach (ServiceController service in services)
                    {
                        if (service.ServiceName == serviceName)
                        {
                            service.Stop();
    
    
                            service.WaitForStatus(ServiceControllerStatus.Running, new TimeSpan(0, 0, 30));
                        }
                    }
                }
                catch { }
            }
    

      

           /// <summary>
            /// 判断某个服务是否启动
            /// </summary>
            /// <param name="serviceName"></param>
            public static bool ISStart(string serviceName)
            {
                bool result = true;
    
    
                try
                {
                    ServiceController[] services = ServiceController.GetServices();
    
    
                    foreach (ServiceController service in services)
                    {
                        if (service.ServiceName == serviceName)
                        {
                            if ((service.Status == ServiceControllerStatus.Stopped)
                                || (service.Status == ServiceControllerStatus.StopPending))
                            {
                                result = false;
                            }
                        }
                    }
                }
                catch { }
    
    
                return result;
            }
    

      原文地址:http://blog.csdn.net/yysyangyangyangshan/article/details/12126423

  • 相关阅读:
    编程语言 编译型语言与解释型语言及汇编语言
    Alpha冲刺2
    事后诸葛亮
    Alpha阶段项目复审
    PostgreSQL的表膨胀与Vacuum和Vacuum Full
    PostgreSQL查看表膨胀(对所有表进行膨胀率排序)
    python中from __future__ import division/print_function的用法
    【IT企业笔试集】2013年阿里巴巴实习生招聘笔试题目及解答
    【WPF编程】一个未完成的12306本地客户端的源代码
    【深入理解计算机系统第二版】3.55习题
  • 原文地址:https://www.cnblogs.com/CSharpLover/p/6016430.html
Copyright © 2011-2022 走看看