C# 用TaskScheduler.dll 创建 windows任务计划
在codeproject中有一个开源项目 可以使用C#调用 来创建windows的计划任务。
地址为: http://www.codeproject.com/KB/cs/tsnewlib.aspx
上代码:
Scheduler sched = new Scheduler();
foreach (Task t in sched.Tasks)
{
Console.WriteLine(t.ToString());
foreach (Trigger tr in t.Triggers)
Console.WriteLine(tr.ToString());
}
// Set only trigger on an existing task to be an idle trigger
Task t1 = sched.Tasks[“Disk Cleanup”];
if (t1 != null)
{
t1.Triggers.Clear();
t1.Triggers.Add(new OnIdleTrigger());
t1.Save();
}
// Create a new task with one of each kind of trigger
Task t2;
try
{
t2 = sched.Tasks.NewTask(“Testing”);
t2.ApplicationName = “notepad.exe”;
t2.Comment = “Testing Notepad”;
t2.Creator = “Author”;
t2.Flags = TaskFlags.Interactive;
t2.Hidden = true;
t2.IdleWaitDeadlineMinutes = 20;
t2.IdleWaitMinutes = 10;
t2.MaxRunTime = new TimeSpan(1, 0, 0);
t2.Parameters = @”c:\test.log”;
t2.Priority = System.Diagnostics.ProcessPriorityClass.High;
t2.WorkingDirectory = @”c:\”;
t2.Triggers.Add(new RunOnceTrigger(DateTime.Now + TimeSpan.FromMinutes(1.0)));
t2.Triggers.Add(new DailyTrigger(8, 30, 1));
t2.Triggers.Add(new WeeklyTrigger(6, 0, DaysOfTheWeek.Sunday));
t2.Triggers.Add(new MonthlyDOWTrigger(8, 0, DaysOfTheWeek.Monday |
DaysOfTheWeek.Thursday,
WhichWeek.FirstWeek |
WhichWeek.ThirdWeek));
int[] days = {1,8,15,22,29};
t2.Triggers.Add(new MonthlyTrigger(9, 0, days, MonthsOfTheYear.July));
t2.Triggers.Add(new OnIdleTrigger());
t2.Triggers.Add(new OnLogonTrigger());
t2.Triggers.Add(new OnSystemStartTrigger());
t2.SetAccountInformation(“DOMAIN\\username”, “mypassword”);
t2.Save();
}
catch {}
// Remove the idle trigger from the task
Trigger trigger = new OnIdleTrigger();
int idx = t2.Triggers.IndexOf(trigger);
if (idx != -1)
t2.Triggers.RemoveAt(idx);
// Delete a task
sched.Tasks.Delete(“Testing”);