C# 使用C运行计划任务#

C# 使用C运行计划任务#,c#,taskscheduler,C#,Taskscheduler,我创建了一个简单的任务。它在每个用户登录时启动。我还想在创建后立即启动它->执行任务调度器GUI中的“运行”操作。我知道我可以启动一个新流程,并以这种方式执行行动目标。。也可以仅使用TaskService对象来完成吗?这是示例代码: using (TaskService ts = new TaskService()) { // Create a new task definition and assign properties TaskDefinition

我创建了一个简单的任务。它在每个用户登录时启动。我还想在创建后立即启动它->执行任务调度器GUI中的“运行”操作。我知道我可以启动一个新流程,并以这种方式执行行动目标。。也可以仅使用
TaskService
对象来完成吗?这是示例代码:

   using (TaskService ts = new TaskService()) {
        // Create a new task definition and assign properties
        TaskDefinition td = ts.NewTask();
        td.RegistrationInfo.Author = "Me";

        td.Principal.RunLevel = TaskRunLevel.Highest;

        td.RegistrationInfo.Description = "Starts Updater";
        td.Settings.DisallowStartIfOnBatteries = false;
        td.Settings.Enabled = true;
        td.Settings.ExecutionTimeLimit = TimeSpan.Zero;
        td.Settings.Hidden = false;
        td.Settings.IdleSettings.RestartOnIdle = false;
        td.Settings.IdleSettings.StopOnIdleEnd = false;
        td.Settings.Priority = System.Diagnostics.ProcessPriorityClass.High;
        td.Settings.RunOnlyIfIdle = false;
        td.Settings.RunOnlyIfNetworkAvailable = false;
        td.Settings.StopIfGoingOnBatteries = false;


        // Create a trigger that will fire the task at this time every other day
        td.Triggers.Add(new LogonTrigger());

        var fileName = Path.Combine(Environment.GetFolderPath("path_updater.exe");
        // Create an action that will launch Notepad whenever the trigger fires
        td.Actions.Add(new ExecAction(fileName, null, null));

        // Register the task in the root folder
        ts.RootFolder.RegisterTaskDefinition(@"Updater", td);

    }

正如右键单击创建的任务,然后单击TaskScheduler GUI上的运行

在像这样注册任务后,可以使用
Task.Run()


请参阅以下内容:。只要换个颜色就行了scheduledTime@Robert,让我知道更新的答案是否适合您;)
.
.
ts.RootFolder.RegisterTaskDefinition(@"Updater", td);
var runCreatedTask = ts.FindTask("Updater").Run(); //Runs the registered task immediately