某些C/S程序长时间运行会出现假死状态,设置程序自动定时重启可以很方便地解决该问题。下面介绍exe程序每天晚上零点定时重启的运用。
一、使用timer控件
找到timer控件拖到界面上
二、timer的Tick事件,实现0点自动重启
private void timer1_Tick(object sender, EventArgs e) { string dateDiff = null; //获取当前时间 DateTime DateTime1 = Da; //第二天的00点00分00秒 DateTime DateTime2 = Da.AddDays(1).Date; //计算两个时间相差多少秒 int sec = (in(DateTime1).TotalSeconds; if (sec == 0) { //延迟1秒执行(为什么要延迟?如果不延迟,重启的瞬间两个时间差依然还是0,就会再次触发重启) T(1000); //--------------重启软件 start--------------- //开启新的实例 Proce); //关闭当前实例 Proce().Kill(); //--------------重启软件 end----------------- } if (sec < 0) { (); } else { //把2个时间转成TimeSpan,方便计算 TimeSpan ts1 = new TimeSpan); TimeSpan ts2 = new TimeSpan); //时间比较,得出差值 TimeSpan ts = (ts2).Duration(); //结果 dateDiff = () + "小时" + () + "分钟" + () + "秒"; = dateDiff; } }
三、显示效果
启动程序之后自动倒计时,效果如下: