我目前正在開發一個C#WPF項目。我需要允許用戶創建計劃任務並將其添加到Windows任務計劃程序。創建計劃任務
我該如何去做這件事,以及我需要什麼使用指令和參考,因爲我在搜索互聯網時找不到太多東西。
我目前正在開發一個C#WPF項目。我需要允許用戶創建計劃任務並將其添加到Windows任務計劃程序。創建計劃任務
我該如何去做這件事,以及我需要什麼使用指令和參考,因爲我在搜索互聯網時找不到太多東西。
您可以使用Task Scheduler Managed Wrapper:
using System;
using Microsoft.Win32.TaskScheduler;
class Program
{
static void Main(string[] args)
{
// Get the service on the local machine
using (TaskService ts = new TaskService())
{
// Create a new task definition and assign properties
TaskDefinition td = ts.NewTask();
td.RegistrationInfo.Description = "Does something";
// Create a trigger that will fire the task at this time every other day
td.Triggers.Add(new DailyTrigger { DaysInterval = 2 });
// Create an action that will launch Notepad whenever the trigger fires
td.Actions.Add(new ExecAction("notepad.exe", "c:\\test.log", null));
// Register the task in the root folder
ts.RootFolder.RegisterTaskDefinition(@"Test", td);
// Remove the task we just created
ts.RootFolder.DeleteTask("Test");
}
}
}
或者您可以使用native API或去Quartz.NET。詳情請參閱this。
這對我的作品 https://www.nuget.org/packages/ASquare.WindowsTaskScheduler/
這是很好的設計流利的API。
//This will create Daily trigger to run every 10 minutes for a duration of 18 hours
SchedulerResponse response = WindowTaskScheduler
.Configure()
.CreateTask("TaskName", "C:\\Test.bat")
.RunDaily()
.RunEveryXMinutes(10)
.RunDurationFor(new TimeSpan(18, 0, 0))
.SetStartDate(new DateTime(2015, 8, 8))
.SetStartTime(new TimeSpan(8, 0, 0))
.Execute();
有沒有辦法將這些信息存儲到SQL服務器數據庫中? – Fearcoder
每個你需要的是這裏:http://msdn.microsoft.com/en-us/library/aa383614(v=vs.85).aspx。 API,有關如何以編程方式實現所需內容的示例和解釋。 – kroonwijk