如果条件为真,如何停止和恢复正在运行的程序

时间:2014-06-06 03:37:18

标签: c#

我正在运行从上午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();

2 个答案:

答案 0 :(得分:1)

考虑使用Windows Task SchedulerCron等任务计划程序在一天中的预定时间开始和停止该过程

答案 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();