c#實現定時任務(Timer)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Runtime.InteropServices;
 
namespace AutoCreateTaskApp
{
    class Program
    {
        [DllImport("user32.dll")]
        public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
        public  const int SW_SHOWMINIMIZED = 2;
        public const int SW_HIDE=0;
        static IntPtr winHandle = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle;    
        static void Main(string[] args)
        {
            //使控制檯在後臺執行。
            ShowWindow(winHandle, SW_HIDE);
            // Normally, the timer is declared at the class level,
            // so that it stays in scope as long as it is needed.
            // If the timer is declared in a long-running method,  
            // KeepAlive must be used to prevent the JIT compiler 
            // from allowing aggressive garbage collection to occur 
            // before the method ends. You can experiment with this
            // by commenting out the class-level declaration and 
            // uncommenting the declaration below; then uncomment
            // the GC.KeepAlive(aTimer) at the end of the method.
            //timer = new System.Timers.Timer(); 
            System.Timers.Timer timer = new System.Timers.Timer(1000);
            timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
            //每五分鐘執行一次。
            //timer.Interval = 300000;  
            timer.Interval = 2000;
            timer.Enabled = true;
            // If the timer is declared in a long-running method, use
            // KeepAlive to prevent garbage collection from occurring
            // before the method ends.
            GC.KeepAlive(timer);
            //指定無限長等待時間的常數
            Thread.Sleep(System.Threading.Timeout.Infinite);
        }
        static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            Console.WriteLine(DateTime.Now.ToString());
            Helper.AutoCreateTask();
 
        }   
    }
}

--------------------- 
做者:arvinstudy 
來源:CSDN 
原文:https://blog.csdn.net/ArvinStudy/article/details/7374888 
版權聲明:本文爲博主原創文章,轉載請附上博文連接!
相關文章
相關標籤/搜索