2

ユースケースは次のとおりです。-新しいwinタスクを作成し、すぐに実行し、完了したら、タスクを削除します。

C#を使用してタスクを作成するための基本的なコードは次のとおりです。

    using (TaskService ts = new TaskService(null))
    {
        string projectName = "runnowtest" + Guid.NewGuid().ToString();

        //create new task
        TaskDefinition td = ts.NewTask();
        Trigger mt = null;

        //setup task as Registration trigger
        mt = td.Triggers.AddNew(TaskTriggerType.Registration);
        mt.StartBoundary = DateTime.Now;

        //delete the task 1 minute after the program ends
        td.Settings.DeleteExpiredTaskAfter = new TimeSpan(0, 1, 0); 

        //run the notepad++ in the task
        td.Actions.Add(new ExecAction("notepad.exe"));

        //register task
        Task output = ts.RootFolder.RegisterTaskDefinition(projectName, td);

        //check output
        Console.WriteLine(output != null ? "Task created" : "Task not created");
    }

APIには、タスクを1回実行としてマークするためのプロパティ/フラグがないようです。上記のタスクが1回だけ実行され、その直後に削除されるようにしています。どんな考えでも大歓迎です!

4

2 に答える 2

3

古いことは知っていますが、参考までに... DeleteExpiredTaskAfter を使用するには、トリガー EndBoundary を指定する必要があります。

var trigger = new RegistrationTrigger{Delay = TimeSpan.FromSeconds(5), EndBoundary = DateTime.Now.Add(TimeSpan.FromSeconds(50))};
于 2014-09-02T11:42:50.077 に答える
0

タスク XML 定義を設定して、API によって直接公開されないすべてのものを設定できます。

于 2012-11-06T22:58:58.137 に答える