tareas tarea servicio segundo programar programadas programada programa plano llamar instalador desde crear con administrador c# wpf scheduled-tasks

servicio - tarea programada con c#



Crear tareas programadas (2)

Esto funciona para mí https://www.nuget.org/packages/ASquare.WindowsTaskScheduler/

Está muy bien diseñado Fluent 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();

Actualmente estoy trabajando en un proyecto C # WPF. Necesito permitir que el usuario cree y agregue una tarea programada al Programador de tareas de Windows.

¿Cómo puedo hacer esto y qué uso de directivas y referencias necesito ya que no encuentro mucho cuando busco en Internet?


Puede usar el Contenedor Administrado del Programador de Tareas :

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"); } } }

Alternativamente, puede usar API native o ir a Quartz.NET . Vea this para más detalles.