c#实现定时任务(Timer)
阅读原文时间:2023年07月15日阅读:1

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 = ;
public const int SW_HIDE=;
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();
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
//每五分钟执行一次。
//timer.Interval = 300000;
timer.Interval = ;
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
版权声明:本文为博主原创文章,转载请附上博文链接!

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章