2

我正在尝试编写一些代码,在一段时间后在我的本地工作站上取消任务,但目前我在完成工作时遇到问题。

下面是我正在运行的代码。

using System;
using Microsoft.Win32.TaskScheduler;

namespace TaskSchedularExamplw
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Task Started");
            using (TaskService ts = new TaskService())
            {
                TaskDefinition t = ts.NewTask();
                t.Triggers.Add(new TimeTrigger() { StartBoundary = DateTime.Now, Enabled = true });
                t.Principal.LogonType = TaskLogonType.InteractiveToken;
                TimeTrigger tt = (TimeTrigger)t.Triggers.Add(new TimeTrigger() { StartBoundary = DateTime.Now, Enabled = true });
                tt.Repetition.Duration = TimeSpan.FromHours(1);
                tt.Repetition.Interval = TimeSpan.FromMinutes(1);
                t.Actions.Add(new ExecAction(@"C:\Program Files (x86)\Notepad++\notepad++.exe", "c:\\test.txt", null));
                const string taskName = "Test";
                ts.RootFolder.RegisterTaskDefinition(taskName, t);
                var runningTasks=ts.GetRunningTasks();
            }

            Console.ReadLine();
        }
    }
}

有人可以告诉我我在这里到底做错了什么。

4

1 回答 1

2

根据TaskService MSDN page,您应该在调用任何其他方法之前调用ConnectTaskService方法。

应在调用任何其他 TaskService 方法之前调用 TaskService.Connect 方法。

于 2016-03-15T07:00:39.527 回答