ユースケースは次のとおりです。-新しい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回だけ実行され、その直後に削除されるようにしています。どんな考えでも大歓迎です!