折腾了一下午,终于找到了这篇写Windows Service的文章,试了一下,通过!
服务程序在C#中的写法。
1.在VS.NET2003中新建一个WINDOWS服务程序的项目WinSrv_A。
2.更改SERVICE1.CS属性SERVICENAME为你所要建立的服务名称,在服务管理器->名称中你可以看到你的服务名
3.按F7进入代码窗口,里面有2个重载函数是你要在其中写代码
/// <summary>
/// 停止此服务。
/// </summary>
protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
String s = System.DateTime.Now.ToString();
if(!File.Exists("c:\\srvlog.txt"))
{
StreamWriter sr = File.CreateText("c:\\bbbirdlog.txt");
sr.WriteLine("-------------------------START SRV---------------------");
sr.WriteLine ("我的新服务在{0}时间开始",s);
sr.WriteLine ("我可以写整型 {0} or 浮点型 {1},等等.",1, 4.2);
sr.Close();
}
else
{
StreamWriter sr = File.AppendText("c:\\bbbirdlog.txt");
sr.WriteLine("-------------------------START SRV---------------------");
sr.WriteLine ("我的新服务在{0}时间开始",s);
sr.WriteLine ("我可以写整型 {0} or 浮点型 {1},等等.",1, 4.2);
sr.Close();
}
}
/// <summary>
/// 停止此服务。
/// </summary>
protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
String s1 = System.DateTime.Now.ToString();
if(!File.Exists("c:\\srvlog.txt"))
{
StreamWriter sr = File.CreateText("c:\\bbbirdlog.txt");
sr.WriteLine("-------------------------STOP SRV---------------------");
sr.WriteLine ("我的新服务在{0}时间停止",s1);
sr.Close();
}
else
{
StreamWriter sr = File.AppendText("c:\\bbbirdlog.txt");
sr.WriteLine("-------------------------STOP SRV---------------------");
sr.WriteLine ("我的新服务在{0}时间停止",s1);
sr.Close();
}
}
4.回到设计窗口点右键选择添加安装程序生成serviceInstaller1 serviceProcessInstaller1两个组件把serviceInstaller1的属性ServiceName改写为你的服务名,并把启动模式设置为AUTOMATIC,把serviceProcessInstaller1的属性account改写为LocalSystem
5.编译链接生成服务程序。
6.用.net framework工具INSTALLUTIL安装服务程序即可,在“Wsv_A.exe”文件所在目录下,vs 2005命令行中输入“InstallUtil.exe Wsv_A.exe”,然后在“服务”中启动该服务,或者在“运行”中输入“NET START Service1”
服务程序在C#中的写法。
1.在VS.NET2003中新建一个WINDOWS服务程序的项目WinSrv_A。
2.更改SERVICE1.CS属性SERVICENAME为你所要建立的服务名称,在服务管理器->名称中你可以看到你的服务名
3.按F7进入代码窗口,里面有2个重载函数是你要在其中写代码
/// <summary>
/// 停止此服务。
/// </summary>
protected override void OnStart(string[] args)
{
// TODO: 在此处添加代码以启动服务。
String s = System.DateTime.Now.ToString();
if(!File.Exists("c:\\srvlog.txt"))
{
StreamWriter sr = File.CreateText("c:\\bbbirdlog.txt");
sr.WriteLine("-------------------------START SRV---------------------");
sr.WriteLine ("我的新服务在{0}时间开始",s);
sr.WriteLine ("我可以写整型 {0} or 浮点型 {1},等等.",1, 4.2);
sr.Close();
}
else
{
StreamWriter sr = File.AppendText("c:\\bbbirdlog.txt");
sr.WriteLine("-------------------------START SRV---------------------");
sr.WriteLine ("我的新服务在{0}时间开始",s);
sr.WriteLine ("我可以写整型 {0} or 浮点型 {1},等等.",1, 4.2);
sr.Close();
}
}
/// <summary>
/// 停止此服务。
/// </summary>
protected override void OnStop()
{
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
String s1 = System.DateTime.Now.ToString();
if(!File.Exists("c:\\srvlog.txt"))
{
StreamWriter sr = File.CreateText("c:\\bbbirdlog.txt");
sr.WriteLine("-------------------------STOP SRV---------------------");
sr.WriteLine ("我的新服务在{0}时间停止",s1);
sr.Close();
}
else
{
StreamWriter sr = File.AppendText("c:\\bbbirdlog.txt");
sr.WriteLine("-------------------------STOP SRV---------------------");
sr.WriteLine ("我的新服务在{0}时间停止",s1);
sr.Close();
}
}
4.回到设计窗口点右键选择添加安装程序生成serviceInstaller1 serviceProcessInstaller1两个组件把serviceInstaller1的属性ServiceName改写为你的服务名,并把启动模式设置为AUTOMATIC,把serviceProcessInstaller1的属性account改写为LocalSystem
5.编译链接生成服务程序。
6.用.net framework工具INSTALLUTIL安装服务程序即可,在“Wsv_A.exe”文件所在目录下,vs 2005命令行中输入“InstallUtil.exe Wsv_A.exe”,然后在“服务”中启动该服务,或者在“运行”中输入“NET START Service1”
7.卸载服务时,首先在“服务”中停止服务,或者在命令行输入“NET STOP Service1”停止服务,然后输入在VS 2005命令行“InstallUtil.exe -u Wsv_A.exe”,卸载该服务。