C# 添加windows 服务

  日前因需要将一个用C#写的控制台程序添加到windows 服务中。上网百度一下,搜到了诸如通过添加注册表的办法。尝试之后发现行不通。后来发现简单的控制台程序是不能通过这种方式添加到windows服务。正确的做法是在VS建一个windows服务,在Service1的OnStart和OnStop方法中添加相应的代码

        protected override void OnStart(string[] args)
        {
           ////服务启动时执行代码
        }

        protected override void OnStop()
        {
             //////服务停止时执行代码
        }


    服务写好之后,生成。又得到一个exe应用程序。网上有种说法是在VS建立一个“安装项目”。可有一个更简单的办法:在exe的目录下建立一个*.bat(批处理文件)。在里面输入

  sc create 服务名 binpath= "服务的路径" start= auto  

然后保存。双击就可以成功添加windows 服务了。sc create 命令也可以在cmd下输入,但本人觉得有时候写成*.bat比较方便。

注意: 选项名称包括等号。
      等号和值之间需要一个空格。
 type= <own|share|interact|kernel|filesys|rec>
       (默认 = own)
 start= <boot|system|auto|demand|disabled|delayed-auto>
       (默认 = demand)
 error= <normal|severe|critical|ignore>
       (默认 = normal)
 binPath= <BinaryPathName>
 group= <LoadOrderGroup>
 tag= <yes|no>
 depend= <依存关系(以 / (斜杠) 分隔)>
 obj= <AccountName|ObjectName>
       (默认 = LocalSystem)
 DisplayName= <显示名称>
 password= <密码>

当然,也可建立另一个专门用于删除windows 服务的*.bat。命令是

  sc delete 服务名  

但删除服务之前记得要先把该服务停止。

posted @ 2012-09-04 23:41  猴健居士  阅读(838)  评论(2编辑  收藏  举报