创建一个Windows服务总体步骤如下:
-
按照Windows Service模板创建项目
-
添加定时器(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是服务中的最高权限,其它权限相对低一些,相关内容可以查询资料;
-
编译项目(重新生成)
按 重新生成,编译文件为.exe,一个MyService.exe文件生成,位置在项目菜单下的 \bin\debug 内 -
安装服务
以管理员身份启动命令窗口
找到“InstallUtil.exe”这个文件的绝对路径和“MyService.exe”你的服务存在路径(一般在你的项目文件中/bin/debug 文件夹里面)
安装指令:路径 InstallUtil.exe 路径 MyService.exe
删除指令:路径 InstallUtil.exe /u 路径 MyService.exe
图:
注:如果没有“InstallUtil.exe” 则需要自行百度安装 -
启动服务
安装完成后,服务还需要启动。启动可以右击“我的电脑”,点击“管理”,进入找到相应的服务启动即可。
参考:https://blog.csdn.net/yongchengzhang/article/details/48438767