2016-07-07 73 views
2

我想将任务计划程序中的“配置”设置设置为“Windows 7”。使用C#的任务计划程序中的常规设置

当前的C#代码:

using (TaskService ts = new TaskService()) 
{ 
    TaskDefinition td = ts.NewTask(); 
    TimeTrigger trigger = new TimeTrigger(); 
    var startTime = TimeSpan.Parse(section1["ScheduledTime"]); 
    trigger.StartBoundary = DateTime.Today + startTime; 
    trigger.Repetition.Interval = TimeSpan.FromDays(1); 
    td.Triggers.Add(trigger); 
    td.Actions.Add(new ExecAction(@"Data.exe", argument, null)); 
    var foldername = ts.GetFolder(@"\Bigdata"); 
    Console.WriteLine(foldername.Path);         
    foldername.RegisterTaskDefinition(section1["JobName"], td, TaskCreation.CreateOrUpdate, "[email protected]", "traincloudCubel!ne"); 
    } 

任何帮助,将不胜感激!

enter image description here

回答

2

td.Settings.Compatibility应该映射到该领域。

有关每个版本在下拉列表中映射到的枚举参见xmldoc。

/// <summary>Defines what versions of Task Scheduler or the AT command that the task is compatible with.</summary> 
public enum TaskCompatibility 
{ 
    /// <summary>The task is compatible with the AT command.</summary> 
    AT, 
    /// <summary>The task is compatible with Task Scheduler 1.0 (Windows Server™ 2003, Windows® XP, or Windows® 2000).</summary> 
    V1, 
    /// <summary>The task is compatible with Task Scheduler 2.0 (Windows Vista™, Windows Server™ 2008).</summary> 
    V2, 
    /// <summary>The task is compatible with Task Scheduler 2.1 (Windows® 7, Windows Server™ 2008 R2).</summary> 
    V2_1, 
    /// <summary>The task is compatible with Task Scheduler 2.2 (Windows® 8.x, Windows Server™ 2012).</summary> 
    V2_2, 
    /// <summary>The task is compatible with Task Scheduler 2.3 (Windows® 10, Windows Server™ 2016).</summary> 
    V2_3, 
} 
+0

我用td.Settings.Compatibility.Equals(“Windows 8.1”)来设置配置为“Windows 8.1”。但它仍然没有做任何事情。想知道我是否错过了一些东西。 – user3447653

+0

该属性是一个枚举,正确的方式是'td.Settings.Compatibility == TaskCompatibility.V2_2',看看我上面发布的代码,'V2_2'映射到“Windows®8.x,Windows Server™2012” 。 –

+0

我想通了,谢谢。 – user3447653