c#怎么编写Windows服务程序

  介绍

小编给大家分享一下c#怎么编写Windows服务程序,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!

<强>一、创建一个Windows服务

1)创建Windows服务项目

 C #怎么编写Windows服务程序”> <br/> </p> <p> <img src=

2)对服务重命名

将Service1重命名为你服务名称,这里我们命名为ServiceTest。

<强>二、创建服务安装程序

1)添加安装程序

 C #怎么编写Windows服务程序

 C #怎么编写Windows服务程序

之后我们可以看到上图,自动为我们创建了ProjectInstaller。cs以及2个安装的组件。

2)修改安装服务名

右键serviceInsraller1,选择属性,将名的值改为ServiceTest。

 C #怎么编写Windows服务程序

3)修改安装权限

右键serviceProcessInsraller1,选择属性,将账户的值改为LocalSystem。

 C #怎么编写Windows服务程序

<强>三,写入服务代码

1)打开ServiceTest代码

右键ServiceTest,选择查看代码。

2)写入服务逻辑

添加如下代码:

using 系统;   using  System.Collections.Generic;   using  System.ComponentModel;   using  System.Data;   using  System.Diagnostics;   using 来;   using  System.ServiceProcess;   using 包含;   namespace  WindowsServiceTest    {   public  partial  class  ServiceTest :, ServiceBase    {   public  ServiceTest (),   {   InitializeComponent ();   }   protected  override  void  OnStart (string [], args),   {   时间=using  (System.IO.StreamWriter  sw  new  System.IO.StreamWriter (“C: \ \ log.txt",,真的)),   {   sw.WriteLine (DateTime.Now.ToString (“yyyy-MM-dd  HH: mm: ss “), +,“开始!”);   }   }   protected  override  void 原(),   {   时间=using  (System.IO.StreamWriter  sw  new  System.IO.StreamWriter (“C: \ \ log.txt",,真的)),   {   sw.WriteLine (DateTime.Now.ToString (“yyyy-MM-dd  HH: mm: ss “), +,“停!”);   }   }   }   }

这里我们的逻辑很简单,启动服务的时候写个日志,关闭的时候再写个日志。

<强>四、创建安装脚本

在项目中添加2个文件如下(必须是ANSI或者utf - 8无BOM格式):

1)安装脚本Install.bat

% SystemRoot % \ Microsoft.NET \ Framework \ v4.0.30319 \ installutil。exe WindowsServiceTest。exe净开始ServiceTest

sc配置ServiceTest开始汽车

=2)卸载脚本Uninstall.bat

% SystemRoot % \ Microsoft.NET \ Framework \ v4.0.30319 \ installutil。exe/u WindowsServiceTest.exe

3)安装脚本说明

第二行为启动服务。

第三行为设置服务为自动运行。

这两行视服务形式自行选择。

4)脚本调试

如果需要查看脚本运行状况,在脚本最后一行加入暂停

<强>五,在c#中对服务进行控制

0)配置目录结构

简历一个新WPF项目,叫WindowsServiceTestUI,添加对系统。ServiceProcess的引用。

在WindowsServiceTestUI的bin \调试目录下建立服务目录。

将WindowsServiceTest的生成目录设置为上面创建的服务目录。

生成后目录结构如下图

 C #怎么编写Windows服务程序

1)安装

安装时会产生目录问题,所以安装代码如下:

string  CurrentDirectory =, System.Environment.CurrentDirectory;   +=System.Environment.CurrentDirectory  CurrentDirectory “\ \ Service";   Process  Process =, new 过程();   时间=process.StartInfo.UseShellExecute 假;   时间=process.StartInfo.FileName “Install.bat";   时间=process.StartInfo.CreateNoWindow 真实;   process.Start ();   时间=System.Environment.CurrentDirectory  CurrentDirectory;

c#怎么编写Windows服务程序