Windows服务以服务的形式运行,有些情况下非常有用。用VS2013创建windows服务的过程如下:
创建服务。
1、文件-》新建-》项目-》windows桌面-》windows服务,修改你要的项目名称。我这不改名,仍叫WindowsService1,确定。
2、产生的项目文件结构如图所示。右侧的Program.cs文件是入口,Service1.cs是服务文件,所有的逻辑都在这。Service1.cs包含两部分,一部分是Designer,可以在这里面添加各种组件。一部分是后台文件,里面可以写一些逻辑,默认包含3个方法:构造函数、OnStart和OnStop,还可以添加OnPause和OnContinue方法。
3、修改Service1.cs文件如下(可以自行添加一些逻辑代码)
namespace WindowsService1 { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); //服务初始化时相关代码。 base.ServiceName = "KangryTest"; //设置服务名称,与后面的安装服务名称要一致 } protected override void OnStart(string[] args) { //服务启动时相关代码。 } protected override void OnStop() { //服务关闭时相关代码。 } } }
4、双击Service1.cs文件,进入设计页面,对着空白处右键-》添加安装器。
5、在安装器的设计界面,出现两个组件。点击serviceProcessInstaller1,在右下角的属性栏中,将Account修改为LocalSystem
6、选中ServiceInstaller1,右下角的属性框中,将ServiceName修改成第3步的ServiceName,其他自行选择。DelayedAutoStart表示开机后是否延迟启动。Description表示服务的描述,DisplayName表示服务显示名称。ServicesDependedOn表示依赖的服务项。StartType表示启动类型,分为自动启动,手动启动和禁用。
安装服务
7、项目右键,编译。将bin/debug的文件拷贝到一个文件夹中(假设名字为WindowsServiceTest)。从C:\Windows\Microsoft.NET\Framework\v4.0.30319中拷贝installutil.exe文件到WindowsServiceTest中。在该文件夹中用记事本分别建立两个文件install.bat和uninstall.bat文件,内容分别如下:
install.bat
%~dp0InstallUtil.exe %~dp0WindowsService1.exe pause
uninstall.bat
%~dp0InstallUtil /u %~dp0WindowsService1.exe pause
注意前每个命令前要加一个%~dp0,表示将目录更改为当前目录。倘若不加,可能会出错。
8、对着install.bat右键,以管理员方式运行。window8.1中(其他版本未知),以管理员方式运行,默认的目录在C:\Windows\system32下。
9、win+R-》输入services.msc,确定-》找到你在第六步输入的DisplayName,我这里是KangryTestDisplayName。
调试服务。
10、调试-》附加到进程
11、选择你的进程,点击附加到进程,然后就可以像普通程序一样进行断点调试了。
卸载服务。
12、右键第7步创建的uninstall.bat附件,以管理员方式运行,便可删除。
版权声明:本文为博主原创文章,未经博主允许不得转载。