Window服务比较简单。新建Windows服务就可以编写,代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.IO;
namespace LandpyWindowsService
{
public partial class LandpyService : ServiceBase
{
public LandpyService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
StreamWriter swObj = new StreamWriter("D:\\1.dat");
swObj.WriteLine(DateTime.Now.ToLongTimeString());
swObj.Close();
}
protected override void OnStop()
{
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.IO;
namespace LandpyWindowsService
{
public partial class LandpyService : ServiceBase
{
public LandpyService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
StreamWriter swObj = new StreamWriter("D:\\1.dat");
swObj.WriteLine(DateTime.Now.ToLongTimeString());
swObj.Close();
}
protected override void OnStop()
{
}
}
}
此服务用来记录服务启动时间,很简单:)
配置Windows服务就有些复杂了。
1)在项目中添加新项Installer,并且拖入两个对象(ServiceProcessInstaller对象和ServiceInstaller对象)。
2)设置两个拖入的对象:
serviceProcessInstaller的Account属性可以设置为“本地系统,网络服务,本地服务,用户”;
serviceInstaller的Description属性可以设置该服务的描述,DisplayName可以设置服务的显示名词,ServiceName则为服务名称,StartTyp是启动类型,包括“自动,手动,已禁用”。
都完成后就可以生成了,生成exe文件,要想使用服务就必须注册服务:
//--------------------//
// 注册服务
//--------------------//
installutil xxxxx.exe
//--------------------//
// 卸载服务
//--------------------//
installutil /u xxxxx.exe
// 注册Dll
regsvr32 xxxxx.dll