当前位置: 代码迷 >> .NET Framework >> 刚学windows服务。怎么在电脑关机的时候(非停止服务)记录信息
  详细解决方案

刚学windows服务。怎么在电脑关机的时候(非停止服务)记录信息

热度:92   发布时间:2016-05-01 23:26:48.0
刚学windows服务。如何在电脑关机的时候(非停止服务)记录信息。
本人刚学写服务,很多问题不懂,望指点。
主要功能是开机时记录开机时间,
并每隔较长一段时间(大概5分钟)记录一些信息。
关机的时候记录关机时间。

现在服务写完了,开机的时候可以自启动,运行的时候也正常。
 但是关机的时候服务好像直接关闭了,没有去调用OnStop()

有没有其他的好办法,记录到关机时间?谢谢

namespace FirstServer
{
    public partial class MyFirst : ServiceBase
    {
        Timer mytimer = new Timer();
   
        public MyFirst()
        {
            mytimer.Interval = 300000;
            mytimer.Elapsed += new ElapsedEventHandler(mytimer_Elapsed);
            InitializeComponent();
           
        }

 void mytimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            mytimer.Stop();
          //................................................................干活中
          mytimer.Start();
      }

 protected override void OnStart(string[] args)
        {
            using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
            {
                sw.WriteLine("现在是:" + DateTime.Now.ToString() + "。  电脑已开机!");
            }
            mytimer.Start();
        }

 protected override void OnStop()
        {
            using (System.IO.StreamWriter sw = new System.IO.StreamWriter("D:\\log.txt", true))
            {
                sw.WriteLine("现在是:" + DateTime.Now.ToString() + "。   电脑即将关闭");
            }
            mytimer.Stop();
        }
   }
}

------解决思路----------------------
引用:
我找到一个好办法,在每次开机的时候去查windows日志,从里面获取上一次的关机时间,然后写进去。

那也只是正常关机才会有这个日志(遗嘱)
突然死亡是没有的
  相关解决方案