2009-08-06 25 views

Respuesta

6

Hay un Task Scheduler API que puede usar para acceder a información sobre tareas. (Es una biblioteca de com, pero puede llamarla desde C# usando pinvokes)

Hay un article on codeproject que proporciona un contenedor .NET para la API.

[Existe también el comando schtasks-more info]

+0

comprobé ese codeProject envoltorio. Funciona muy bien. ¡Estoy realmente sorprendido de que no haya objetos scheduleTask en el framework .net! – KevinDeus

1

por cierto, IRT mi solución aceptada, aquí está el código de contenedor CodeProject (ver http://www.codeproject.com/KB/cs/tsnewlib.aspx) necesarios para verificar que un scheduledTask existe

yo uso esto en una prueba de integración por lo que la sostienen se NUnit ..

public static void VerifyTask(string server, string scheduledTaskToFind) 
{ 
    ScheduledTasks st = new ScheduledTasks(server); 

    string[] taskNames = st.GetTaskNames(); 
    List<string> jobs = new List<string>(taskNames); 

    Assert.IsTrue(jobs.Contains(scheduledTaskToFind), "unable to find " + scheduledTaskToFind); 

    st.Dispose(); 
} 

para comprobar si está activado, puede hacer lo siguiente:

Task task = st.OpenTask(scheduledTaskToFind); 
Assert.IsTrue(task.Status != TaskStatus.Disabled); 
Cuestiones relacionadas