关闭

C#控制Window服务的状态

标签: c#netwindows服务
78人阅读 评论(0) 收藏 举报
分类:

最近想做这样一个效果,在网页控制Window服务启动和停止和状态:

添加引用
  • Window服务在程序集System.ServiceProcess,然后增加using System.ServiceProcess;
  • 服务有几个状态,它是枚举类型,如下:
        //
        // 摘要:
        //     服务未运行。这对应于 Win32 SERVICE_STOPPED 常数,该常数定义为 0x00000001。
        Stopped = 1,
        //
        // 摘要:
        //     服务正在启动。这对应于 Win32 SERVICE_START_PENDING 常数,该常数定义为 0x00000002。
        StartPending = 2,
        //
        // 摘要:
        //     服务正在停止。这对应于 Win32 SERVICE_STOP_PENDING 常数,该常数定义为 0x00000003。
        StopPending = 3,
        //
        // 摘要:
        //     服务正在运行。这对应于 Win32 SERVICE_RUNNING 常数,该常数定义为 0x00000004。
        Running = 4,
        //
        // 摘要:
        //     服务即将继续。这对应于 Win32 SERVICE_CONTINUE_PENDING 常数,该常数定义为 0x00000005。
        ContinuePending = 5,
        //
        // 摘要:
        //     服务即将暂停。这对应于 Win32 SERVICE_PAUSE_PENDING 常数,该常数定义为 0x00000006。
        PausePending = 6,
        //
        // 摘要:
        //     服务已暂停。这对应于 Win32 SERVICE_PAUSED 常数,该常数定义为 0x00000007。
        Paused = 7
更新服务类
  • 代码如下
    public static class WindowService
    {
        private const string SERVICE_NAME = "Fax";  //服务名称

        /// <summary>
        /// 获取Window服务状态
        /// </summary>
        /// <returns></returns>
        public static ServiceControllerStatus GetWinServiceState()
        {
            ServiceController sc = new ServiceController(SERVICE_NAME);
            return sc.Status;
        }

        /// <summary>
        /// 停止Window服务
        /// </summary>
        public static void StopWinService()
        {
            ServiceController sc = new ServiceController(SERVICE_NAME);
            sc.Stop();
        }

        /// <summary>
        /// 启动Window服务
        /// </summary>
        public static void StartWinService()
        {
            ServiceController sc = new ServiceController(SERVICE_NAME);
            sc.Start();
        }

        /// <summary>
        /// 刷新Window服务
        /// </summary>
        public static void RestoreWinService()
        {
            ServiceController sc = new ServiceController(SERVICE_NAME);
            sc.Refresh();
        }
    }
服务权限问题
  • 部署可能会遇到权限问题,如下:
  • 那么在可以修改应用程序池的标识,如下
  • 以上为个人遇到问题,仅供参考!
0
0
查看评论

C#操作windows服务

效果图如下: 前台js如下: function showLoading(desc) { $("body").append(" " + desc + ""); //ale...
  • zouyujie1127
  • zouyujie1127
  • 2013-09-03 14:12
  • 3595

C# ASP.NET 控制windows服务的 开启和关闭 以及重启

用ASP.NET控制Windows服务的开启与关闭 效果如图 代码 首页页面需要添加引用 页面的pageload中 实例化windows服务 protected void Page_Load(object sender, EventArgs e)  &...
  • ysq5202121
  • ysq5202121
  • 2012-10-29 14:20
  • 1772

使用SC在C#中取得windows服务的启动类型

//取得服务的启动类型的当前状态,返回启动类型的状态値//2:自动,3:手动,4:禁用 ......//sServiceName服务名称//sState输出相关的状态代码,失败则为错误消息public int GetWindowsServiceStartType(String sServiceNam...
  • growleaf
  • growleaf
  • 2008-03-19 21:33
  • 2782

C#获得服务,判断服务状态,启动服务

C#获取服务 C#获取服务状态 C#判断服务状态 C#监听服务状态 C#启动服务
  • da_keng
  • da_keng
  • 2015-12-23 10:20
  • 3817

C# window服务安装报错解决方法

本文章的错误是解决,通过InstallUtil.exe安装服务时,失败的问题。 服务是自己不能安装的,需要利用InstallUtil.exe 安装方法:cmd窗口输入InstallUtil.exe的路径+空格+服务的路径 InstallUtil.exe的路径无论各个版本都在C盘,拿4.0的举例子就是...
  • XiaoYi96
  • XiaoYi96
  • 2017-07-25 10:42
  • 517

C# 以管理员方式启动Winform,进而使用管理员控制Windows Service

C# 以管理员方式启动Winform,进而使用管理员控制Windows Service http://www.cnblogs.com/yy3b2007com/p/4415330.html 问题起因: 1,) 问题自动分析Windows服务在正常运行时,确实会存在程序及人为原因导致该服务停止。为了在应...
  • woaizard100
  • woaizard100
  • 2017-08-17 18:33
  • 251

WinForm程序控制windows服务

using System.ServiceProcess; using System.Diagnostics; namespace WinFormAppTest {     public partial class Form1 : F...
  • gzeehg007
  • gzeehg007
  • 2016-06-18 16:26
  • 337

C#_在按钮存在的状态获取按键消息

转自:http://blog.sina.com.cn/s/blog_6f8a66150100n2cj.html
  • qiminglau
  • qiminglau
  • 2014-05-06 16:16
  • 539

C#软件监控外部程序运行状态

需要外挂一个程序,用于监控另一个程序运行状态,一旦检测到另一程序关闭,就触发一个事件做其他处理。 引用的类 using System.Diagnostics;//引入Process 类 声明 private Process[] MyProcesses; 主要处理部分,该段代码可放...
  • liucheng5037
  • liucheng5037
  • 2014-11-27 16:57
  • 2193

C# 开发Windows Service程序控制功能

在做一些计划任务时候难免用到Windows Service服务程序,而这个是没有操作界面的,每次启动、重启、关闭都需要服务界面找到服务进行操作,对普通的人来说是非常麻烦的,所以有时候就需要通过应用程序来控制Windows 服务,这里把之前写到的一个服务控制类贴出来。Windows 服务控制类usin...
  • fuyifang
  • fuyifang
  • 2015-06-10 22:57
  • 1315
    个人资料
    • 访问:1559次
    • 积分:138
    • 等级:
    • 排名:千里之外
    • 原创:11篇
    • 转载:3篇
    • 译文:0篇
    • 评论:3条
    文章分类