实现一个简单的windowsService

首先打开VS,创建一个Windows Service 程序

进入后先点击右键进入代码,编写一个简单的例子(往C盘下写一个名为aa的文本文档,内容为系统时间):

namespace WindowsService1
{
    public partial class Service1 : ServiceBase
    {

    Thread th = null;

    public Service1()

    {

      InitializeComponent();

      th = new Thread (new ThreadStart(MyMethod));

    }

    void MyMethod()

    {

      while(true) 

      {

        StreamWriter sw = new StreamWriter(@"c:\aa.txt",true);

        sw.WriteLine(DateTime.Now.ToString());

        sw.Flush();

        sw.Close();

        Thread.Sleep(5*1000);

      }

    }

  }

  protected override void OnStart(string[] args)

  {

    th.Start();

    while(true)

    {

      if(System.DateTime.Now.ToShortTimeString() == "14:20")

      {

        if(th.ThreadState = System.Threading.ThreadState.Suspended)

        {

          th.Resume();

          Thread.Sleep(10*1000);

        }

        else

        {

          th.Suspend();

          Thread.Sleep(30*1000);

        }

      }

    }

  }

  protected override void OnStop()

  {

    if(th.IsAlive)

    {

      th.Abort();

    }

  }

  protected override void OnPause()

  {

    base.OnPause();

  }

}

 

写完代码后,返回设计界面,注意一定要先再属性里先把自己想改的名字写入,这样再右键添加安装程序

把ServiceInstaller1的Modifiers改为private

把ServiceProcessInstaller1的Account 改为 localsystem

然后再注册表里注册下就搞定了

 

posted @ 2010-06-25 18:02  JasonNET  阅读(293)  评论(0编辑  收藏  举报