我正在运行从上午6点到下午6点使用C#发送短信程序。我希望在下午6点停止该过程,并在第二天早上7点重新启动该过程。以下代码无效。当程序运行时,它不会在时间是下午6点时停止。 Plz帮我解决了这个问题。谢谢
new Thread(delegate()
{
while (DateTime`me.Now.Hour.ToString("HH") != "18")
{
sms.endSMS();
Thread.Sleep(20000);}
Thread.Sleep(500000);
}).Start();
答案 0 :(得分:1)
考虑使用Windows Task Scheduler或Cron等任务计划程序在一天中的预定时间开始和停止该过程
答案 1 :(得分:0)
我建议使用Windows任务计划程序和计时器进行此操作。但是,如果您想要指定代码的答案,可以使用以下代码。
Thread timerThread = new Thread(()=>
{
while(true)
{
if(DateTime.Now.Hour >= 6 && DateTime.Now.Hour <= 17)
{
sms.SendSms();
Thread.Sleep(300000);
}
else
{
Thread.Sleep(3600000);
}
}});
timerThread.Priority = ThreadPriority.Normal;
timerThread.IsBackground = true;
timerThread.Start();