用C#创建Windows服务的步骤:
1、创建Windows Service项目
从Visual C# 工程中选取 Windows 服务(Windows Service)选项,给工程一个新文件名,然后点击 确定。
向服务中函数功能实现
2、OnStart函数在启动服务时执行,OnStop函数在停止服务时执行。当启动和停止服务时,写入对应的业务操作(实现自己要的功能)。
protected override void OnStart(string[] args)
{
FileStream fs = new FileStream(@"d:\test.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine("WindowsService: Service Started" + DateTime.Now.ToString() + "\n");
sw.Flush();
sw.Close();
fs.Close();
}
protected override void OnStop()
{
FileStream fs = new FileStream(@"d:\test.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine("WindowsService: Service Stopped" + DateTime.Now.ToString() + "\n");
sw.Flush();
sw.Close();
fs.Close();
}
3、回到设计窗口点右键选择-添加安装程序 -生成serviceInstaller1和 serviceProcessInstaller1两个组件
把serviceInstaller1的属性ServiceName改写为你的服务程序名,并把启动模 式设置为AUTOMATIC
把serviceProcessInstaller1的属性account改写为 LocalSystem
4、编译链接生成服务程序
5、安装服务,进入到这个目录 C:\Windows\Microsoft.NET\Framework\v4.0.30319 这个目录 下,找到InstallUtil.exe这个文件,复制这个文件的具体目录位置路径,cmd 打开命令窗体
进入到这个文件目录下,执行 InstallUtil.exe G:\c#\ owsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.exe(InstallUtil.exe 安装包目录的exe文件)
如下所示 代表安装完成
6、启动windows服务
net start TestServive(服务名称)
7、查看服务
8、卸载服务
进入到这个目录 C:\Windows\Microsoft.NET\Framework\v4.0.30319 在这个目录 下,
installutil /u WindowsServiceTest.vshost.exe(你的应用)
例子:C:\Windows\Microsoft.NET\Framework\v4.0.30319>installutil /u G:\c#\projec
wsServiceTest\WindowsServiceTest\bin\Debug\WindowsServiceTest.vshost.exe
删除服务的可执行文件后,该服务可能仍然会出现在注册表中。 如果发生这种情况下,请使用命令 sc delete 从注册表中删除服务的条目。
sc.exe delete "YourServiceName"