1. 程式人生 > 程式設計 >C#定時每天00點00分00秒自動重啟軟體

C#定時每天00點00分00秒自動重啟軟體

本文例項為大家分享了C#定時每天自動重啟軟體的具體程式碼,供大家參考,具體內容如下

C#定時每天00點00分00秒自動重啟軟體

1、新增Timer控制元件,這個控制元件可以顯示倒計時功能

C#定時每天00點00分00秒自動重啟軟體

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;
      }
 }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。