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 版權聲明:本文爲博主原創文章,轉載請附上博文連接!