小言_互联网的博客

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

398人阅读  评论(0)

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

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


  
  1. private void timerDownCount_Tick(object sender, EventArgs e)
  2. {
  3. string dateDiff = null;
  4. //获取当前时间
  5. DateTime DateTime1 = DateTime.Now;
  6. //第二天的00点00分00秒
  7. DateTime DateTime2 = DateTime.Now.AddDays( 1).Date;
  8. //计算两个时间相差多少秒
  9. int sec = ( int)DateTime2.Subtract(DateTime1).TotalSeconds;
  10. if (sec == 0)
  11. {
  12. //延迟1秒执行(为什么要延迟?如果不延迟,重启的瞬间两个时间差依然还是0,就会再次触发重启)
  13. Thread.Sleep( 1000);
  14. //--------------重启软件 start---------------
  15. //开启新的实例
  16. Process.Start(Application.ExecutablePath);
  17. //关闭当前实例
  18. Process.GetCurrentProcess().Kill();
  19. //--------------重启软件 end-----------------
  20. }
  21. if (sec < 0)
  22. {
  23. this.timerDownCount.Stop();
  24. }
  25. else
  26. {
  27. //把2个时间转成TimeSpan,方便计算
  28. TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
  29. TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
  30. //时间比较,得出差值
  31. TimeSpan ts = ts1.Subtract(ts2).Duration();
  32. //结果
  33. dateDiff = ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
  34. this.labDownCount.Text = dateDiff;
  35. }
  36. }

 


转载:https://blog.csdn.net/qq15577969/article/details/107728816
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场