zoukankan      html  css  js  c++  java
  • 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 
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    Codeforces 787D. Legacy 线段树优化建图+最短路
    Codeforces 1051E. Vasya and Big Integers
    BZOJ3261 最大异或和
    BZOJ3531 SDOI2014 旅行
    洛谷P2468 SDOI 2010 粟粟的书架
    2018 ICPC 焦作网络赛 E.Jiu Yuan Wants to Eat
    HDU6280 From Tree to Graph
    HDU5985 Lucky Coins 概率dp
    (HDU)1334 -- Perfect Cubes (完美立方)
    (HDU)1330 -- Deck (覆盖物)
  • 原文地址:https://www.cnblogs.com/webenh/p/11007491.html
Copyright © 2011-2022 走看看