• 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 
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    oracle用户被锁死
    windows远程桌面智能调整大小
    批量ping测试脚本
    信息的组织和提取方法
    BeautifulSoup
    requests模块学习
    Telerik Fiddler 应用方法
    js 时间格式换成 把字符串(yyyymmdd)转换成日期格式(yyyy-mm-dd)记录
    vuedraggable 拖拽 应用 不同列表之间的拖拽
    vue项目图片上传 vant van-uploader 图片上传
  • 原文地址:https://www.cnblogs.com/webenh/p/11007491.html
Copyright © 2020-2023  润新知