一、windows服务的创建
在vs创建项目中直接创建一个windows服务项目
在Service1.cs中右键查看代码,就可以看到OnStart、OnStop 两个方法,OnStart 是服务启动时执行的代码;OnStop 是服务停止时执行的代码,如下图:
在OnStart 中写入以下代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.IO;
namespace WindowsService1
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)//服务启动时执行的代码
{
//在D盘中创建WindowsService.txt文件,并写入信息
FileStream fs = new FileStream(@"d:\WindowsService.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.BaseStream.Seek(0, SeekOrigin.End);
sw.WriteLine("Service Started!(This OnStart Function)" + DateTime.Now.ToString() + "\n");
sw.Flush();
sw.Close();
fs.Close();
}
protected override void OnStop()//服务停止时执行的代码
{
}
}
}
在Service1.cs 中右键->添加安装程序
选中serviceInstaller1组件,查看属性
设置ServiceName的值, 该值表示在系统服务中的名称
设置StartType, 如果为Manual则手动启动,默认停止,如果为Automatic为自动启动
设置Description,可以添加服务描述
选中serviceProcessInstaller1组件,查看属性,设置account为LocalSystem
二、windows服务安装
右键项目名称,生成项目;
然后再项目所在目录下的debug文件夹中就会得到一个.exe 文件;如图:
然后把C:\Windows\Microsoft.NET\Framework\v4.0.30319 目录下的InstallUtil.exe 复制到D:\我的文档\Visual Studio 2008\Projects\WindowsService1\WindowsService1\bin\Debug 目录下;如图:
然后已管理员权限运行cmd:
切换到debug 目录下,并用InstallUtill.exe 安装WindowsService,入下图:安装命令是
InstallUtil.exe WindowsService1.exe
执行命令后显示安装完成,则可以在windows服务中找到刚才安装的服务:
打开本地服务命令:
在本地服务中找到刚才安装的服务并启动
最后在D 盘下就可以看到一个WindowsService.txt 文件:
三、windows服务卸载
在命令行中执行命令
installutil.exe /u windowsservice1.exe
就可以卸载之前安装的服务。