C# 当条件为真时,如何停止和恢复正在运行的程序

C# 当条件为真时,如何停止和恢复正在运行的程序,c#,C#,我从早上6点到下午6点用C#运行发送短信程序。我想在下午6点时停止该进程,并在第二天早上7点时重新启动该进程。以下代码不起作用。当程序运行时,它不会在下午6点停止。请帮我解决这个问题。多谢各位 new Thread(delegate() { while (DateTime`me.Now.Hour.ToString("HH") != "18") { sms.endSMS(); Thread.Sleep(20000);} Th

我从早上6点到下午6点用C#运行发送短信程序。我想在下午6点时停止该进程,并在第二天早上7点时重新启动该进程。以下代码不起作用。当程序运行时,它不会在下午6点停止。请帮我解决这个问题。多谢各位

new Thread(delegate()
{ 
    while (DateTime`me.Now.Hour.ToString("HH") != "18")
    {   
       sms.endSMS();
       Thread.Sleep(20000);}    
       Thread.Sleep(500000);
}).Start();

考虑使用任务计划程序,如或在一天中的计划时间启动和停止进程

我建议使用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();
线程时间读取=新线程(()=>
{
while(true)
{

如果(DateTime.Now.Hour>=6&&DateTime.Now.Hour…或者,在每晚6点停止进程,然后使用Windows内置的任务调度程序在每天早上7点启动应用程序。什么是DateTime`me?另请查看Quartz.net