zoukankan      html  css  js  c++  java
  • 使用ServiceController组件控制计算机服务

    实现效果:  

      

    知识运用:

      ServiceController组件的MachineName属性  //获取或设置服务所驻留的计算机名称

      public string MachineName{get;set;}    //属性值:与此ServiceController实例关联的服务的计算机名称

      ServiceName属性    //获取或设置对此实例引用的服务进行标识的名称

      public string ServiceName{get;set;}    

      Status属性    //获取由此实例引用的服务的状态

      public ServiceControllerStatus Status {get;}  //枚举值之一

      DisplayName属性  //获取或设置服务的友好名称

      public string DisplayName { get;set; }

      CanStop属性    //指示服务在启动后是否可以停止

      public bool CanStop { get; }

      Start Stop方法

    实现代码:

           //启动服务
            private void btn_start_Click(object sender, EventArgs e)
            {
                serviceController1.MachineName=".";
                serviceController1.ServiceName="wuauserv";
                if (serviceController1.Status == ServiceControllerStatus.Running)
                {
                    MessageBox.Show(
                        serviceController1.DisplayName+"服务正在运行");
                    Application.Exit();
                }
                else 
                {
                    serviceController1.Start();
                    MessageBox.Show(
                        serviceController1.DisplayName+"服务启动成功");
                    btn_start.Enabled = false;
                    Application.Exit();
                }
            }
            //判断状态
            private void btn_status_Click(object sender, EventArgs e)
            {
                try
                {
                    serviceController1.MachineName = ".";
                    serviceController1.ServiceName = "wuauserv";
                    if (serviceController1.Status == ServiceControllerStatus.Running)
                    {
                        MessageBox.Show(serviceController1.DisplayName + "服务正在运行");
                        btn_stop.Enabled = true;
                        btn_status.Enabled = false;
                    }
                    else
                    {
                        MessageBox.Show(serviceController1.DisplayName + "服务已经停止");
                        btn_start.Enabled = true;
                        btn_status.Enabled = false;
                    }
                }
                catch (Exception ee) 
                { MessageBox.Show(ee.Message); }
            }
            //停止服务
            private void btn_stop_Click(object sender, EventArgs e)
            {
                try
                {
                    serviceController1.MachineName = ".";
                    serviceController1.ServiceName = "wuauserv";
                    if (serviceController1.CanStop)
                    {
                        serviceController1.Stop();
                        MessageBox.Show(serviceController1.DisplayName+"服务已经停止");
                        Application.Exit();
                    }
                    else
                    {
                        MessageBox.Show("服务不可以停止");
                        Application.Exit();
                    }
                }
                catch (Exception ee)
                { MessageBox.Show(ee.Message); }
            }    
    
  • 相关阅读:
    MongoDB环境配置
    Python之路【第二十七篇】:反射
    Socket网络通讯,TCP三次握手和四次释放,与UDP的差别
    iOS 常用第三方
    UISegmentedControl的使用
    OC取应用程序目录的路径
    KVC中setValuesForKeysWithDictionary
    KVC和KVO的简单对比
    C语言 内存和地址
    html基础知识
  • 原文地址:https://www.cnblogs.com/feiyucha/p/10199544.html
Copyright © 2011-2022 走看看