在c#中调度计时器

时间:2011-02-19 12:08:31

标签: c#

启动我的应用程序后,我想稍后运行我的应用程序,而不是在启动它之后立即运行。我怎么做?我可以接受我想要运行我的应用程序的时间,通过命令行。请帮助.Thanx提前。

此致 Sanchaita sujit chakraborty

3 个答案:

答案 0 :(得分:3)

我不明白你想要完成什么,但Quartz.NET是一个可用于在.NET中安排作业的库。

答案 1 :(得分:2)

您可以通过生成schtasks以编程方式创建计划任务: System.Diagnostics.Process.Start("schtasks", @"/create /tn mytask /tr C:\mypgm.exe /sc daily /st 18:55:00"); 您可以参考schtasks文档以获得有关您确切需要的更多信息。

答案 2 :(得分:0)

您可以使用 System.Threading.Timer class来安排方法调用

static void Main(string [] args)
{
    DateTime? startDate = null;
    if(args.length>1) 
    {
        DateTime.TryParse(args[0], out startDate);
    }
    if(startDate.HasValue && DateTime.Now<startDate.Value)
    {
        System.Threading.Timer timer = new System.Threading.Timer(new TimerCallback(StartProgram));
        timer.Change(startDate.Value.Substract(DateTime.Now).TotalMilliseconds, Timeout.Infinite);
    }
    else
        StartProgram();
}
private static void StartProgram()
{
    Console.WriteLine("Started");
    //rest of you code
}