windows services 是运行在后台的服务程序,可以用 vs2013 来创建,创建的步骤如下:

1.打开 vs2013 , Files -->New Project --> windows-->windows service  在本示例中的名称为: WindowsServiceDemon 如下图所示 

2.创建好的项目的解决方案如下:

Program.cs 是程序的入口处,里面包含程序的入口方法,Servicel.cs 是服务类文件,里面包含服务的内容,所有的逻辑都在这里,Services.cs 包含两部分:一部分是Designer 可视化设计界面,可以在这里添加各种组件,另一部分是代码文件,里面主要写逻辑,默认包含3个方法:OnStart、OnStop 和构造函数,还可以添加 OnPause 和 OnContinue 方法,在构造函数里,设置服务的名称:

base.ServiceName="wisdomhu";

Services1.cs 完整的代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Diagnostics;
 6 using System.Linq;
 7 using System.ServiceProcess;
 8 using System.Text;
 9 using System.Threading.Tasks;
10 
11 namespace WindowsServiceDemon
12 {
13     public partial class Service1 : ServiceBase
14     {
15         public Service1()
16         {
17             InitializeComponent(); // 构造函数
18             base.ServiceName = "wisdomhu";//设置服务名称,与后面的安装服务名称要一致
19 
20         }
21 
22         protected override void OnStart(string[] args)
23         {
24             //TODO 服务启动时的相关逻辑
25         }
26 
27         protected override void OnStop()
28         {
29             //TODO 服务停止时的相关逻辑
30         }
31     }
32 }
Services.cs

3.双击 Services1.cs文件,进入设计页面,在空白处单击鼠标右键--> Add Installer (添加安装器)

添加完后,页面上会显示两个标签,

单击选中 serviceProcessInstaller1,鼠标右键 -->Properties (显示属性) 在右侧的属性栏中,修改属性值,将Account 属性设置成 localSystem,这是服务的类型

 

4. 按照上面的步骤,设置 serviceInstaller1 的属性,其中 DelayedAutoStart 表示是否延迟启动,Descirption 表示:服务的说明文字 ,DisplayName 表示: 服务的显示名称,ServicesDependOn 表示:服务所依赖的其它服务项,StartType 表示: 服务的启动类型: 自动、手动、禁止, Partent表示:服务所依赖的父服务 , ServicesName 表示: 服务的名称,服务的名称要与在第二步代码中设置的服务的名称一致。

5.对项目进行编译,并持备 bin-->debug 下的所有文件 到 自己指定的文件夹中,这里的文件夹名称是: WindowsServicesDemon

6. 在 WindowsServicesDemon 文件夹中,分别添加两个文件: Installer.bat 和 UnInstaller.bat (可通过文本编辑器来添加)它们分别表示:服务的安装和服务的卸载,其中的内容分别是:

%~dp0InstallUtil.exe %~dp0WindowsServiceDemon.exe
pause
%~dp0InstallUtil /u %~dp0WindowsServiceDemon.exe
pause

注: 开头一定要留 %~dp0  符号,表示将目录更改为当前目录,如果不加,可能会出错。

 

7. 从 C:\Windows\Microsoft.NET\Framework\v4.0.30319 找到 InstallUtil.exe 和 InstallUtil 文件,并把这两个文件拷备到 第 5步所创建的文件夹中,这里是 WindowsServicesDemon ,然后 选 中 Installer.bat 文件,以管理员的方式运行,如果一切正常,将会看到这样的结果:

服务已经成功安装,打开 服务,将会看到,刚才安装的 wisdomhu 服务

 

若要卸载服务时,只要以管理员的方式运行 UnInstaller.bat 就可以了。

 

posted on 2015-10-18 21:53  wisdo  阅读(2456)  评论(0编辑  收藏  举报