创建一个Windows服务总体步骤如下:
1.按照Windows Service模板创建项目
2.添加定时器(timer)或者其它控件,并编写OnStart和OnStop事件方法
protected override void OnStart(string[] args)
{
//服务开启执行代码
//--------------/
//一般情况下只用在这里写代码
}
protected override void OnStop()
{
//服务结束执行代码
}
protected override void OnPause()
{
//服务暂停执行代码
base.OnPause();
}
protected override void OnContinue()
{
//服务恢复执行代码
base.OnContinue();
}
protected override void OnShutdown()
{
//系统即将关闭执行代码
base.OnShutdown();
}
//定时器
private void timer1_Tick(object sender, EventArgs e)
{
//这是定时器里面写的方法
}
添加安装程序并设置相应属性
ProjectInstaller加入,其中有两个控件,选定“serviceInstaller1”,查看其属性,确认其ServiceName属性值为“MyService”(即和第1步设定的项目名称相同),并把StartType属性设置为“Automatic”;这里有另外两个属性值要注意,分别是“DisplayName”和“Description”,分别是服务的显示名称及描述,这两个属性可以自行随意设置,Windows服务列表中显示的名称和描述即为这两个属性所制作。如果“DisplayName”为空(默认为空),则自动选定真实服务名(本例中为MyService)为显示名称
选定“serviceProcessInstaller1”,设置Account属性值为“LocalSystem”,LocalSystem是服务中的最高权限,其它权限相对低一些,相关内容可以查询资料;
4.编译项目(重新生成)
按 重新生成,编译文件为.exe,一个MyService.exe文件生成,位置在项目菜单下的 \bin\debug 内
5.安装服务
以管理员身份启动命令窗口
找到“InstallUtil.exe”这个文件的绝对路径和“MyService.exe”你的服务存在路径(一般在你的项目文件中/bin/debug 文件夹里面)
安装指令:路径 InstallUtil.exe 路径 MyService.exe
删除指令:路径 InstallUtil.exe /u 路径 MyService.exe
注:如果没有“InstallUtil.exe” 则需要自行百度安装
启动服务
安装完成后,服务还需要启动。启动可以右击“我的电脑”,点击“管理”,进入找到相应的服务启动即可。