当前位置 : 主页 > 网络编程 > c#编程 >

C#定时每天00点00分00秒自动重启软件

来源:互联网 收集:自由互联 发布时间:2020-11-08
本文实例为大家分享了C#定时每天自动重启软件的具体代码,供大家参考,具体内容如下 1、添加Timer控件,这个控件可以显示倒计时功能 2、Timer控件的Tick事件代码: private void timerDow

本文实例为大家分享了C#定时每天自动重启软件的具体代码,供大家参考,具体内容如下

1、添加Timer控件,这个控件可以显示倒计时功能

2、Timer控件的Tick事件代码:

private void timerDownCount_Tick(object sender, EventArgs e)
    {
      string dateDiff = null;
      //获取当前时间
      DateTime DateTime1 = DateTime.Now;
      //第二天的00点00分00秒
      DateTime DateTime2 = DateTime.Now.AddDays(1).Date;     
      //计算两个时间相差多少秒
      int sec = (int)DateTime2.Subtract(DateTime1).TotalSeconds;     
      if (sec == 0)
      {
        //延迟1秒执行(为什么要延迟?如果不延迟,重启的瞬间两个时间差依然还是0,就会再次触发重启)
        Thread.Sleep(1000);
        //--------------重启软件 start---------------
        //开启新的实例
        Process.Start(Application.ExecutablePath);
        //关闭当前实例
        Process.GetCurrentProcess().Kill();
        //--------------重启软件 end-----------------     
      }
      if (sec < 0)
      {
        this.timerDownCount.Stop();
      }
      else
      {
        //把2个时间转成TimeSpan,方便计算
        TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
        TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
        //时间比较,得出差值
        TimeSpan ts = ts1.Subtract(ts2).Duration();  
        //结果
        dateDiff = ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
        this.labDownCount.Text = dateDiff;
      }
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。 

网友评论