C# Execute function at specific time

后端 未结 6 955
暖寄归人
暖寄归人 2020-12-06 03:06

I made a little Windows Forms program to do some auto backup of some files on my disk. Right now I need to push a button before it is executed, but I want to make the progra

6条回答
  •  旧巷少年郎
    2020-12-06 03:46

    sorry for posting a answer after so many year. i feel my post may help some one later. here is a small code to simulate schedule task with timer.

    using System;
    using System.Timers;
    
    namespace ScheduleTimer
    {
        class Program
        {
            static Timer timer;
    
            static void Main(string[] args)
            {
                schedule_Timer();
                Console.ReadLine();
            }
    
            static void schedule_Timer()
            {
                Console.WriteLine("### Timer Started ###");
    
                DateTime nowTime = DateTime.Now;
                DateTime scheduledTime = new DateTime(nowTime.Year, nowTime.Month, nowTime.Day, 8, 42, 0, 0); //Specify your scheduled time HH,MM,SS [8am and 42 minutes]
                if (nowTime > scheduledTime)
                {
                    scheduledTime = scheduledTime.AddDays(1);
                }
    
                double tickTime = (double)(scheduledTime - DateTime.Now).TotalMilliseconds;
                timer = new Timer(tickTime);
                timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
                timer.Start();
            }
    
            static void timer_Elapsed(object sender, ElapsedEventArgs e)
            {
                Console.WriteLine("### Timer Stopped ### \n");
                timer.Stop();
                Console.WriteLine("### Scheduled Task Started ### \n\n");
                Console.WriteLine("Hello World!!! - Performing scheduled task\n");
                Console.WriteLine("### Task Finished ### \n\n");
                schedule_Timer();
            }
        }
    }
    

    screen shot

提交回复
热议问题