Creación de un desencadenador

Para crear un desencadenador, debe usar tres interfaces. IScheduledWorkItem proporciona el método IScheduledWorkItem::CreateTrigger para crear el objeto desencadenador, ITaskTrigger proporciona el método ITaskTrigger::SetTrigger para establecer los criterios para el desencadenador y la interfaz COM IPersistFile proporciona un método Save para guardar el nuevo desencadenador en el disco.

En el procedimiento siguiente se describe cómo crear un desencadenador.

Para crear un desencadenador

  1. Llame a CoInitialize para inicializar la biblioteca COM y CoCreateInstance para obtener un objeto Task Scheduler. (En este ejemplo se supone que el servicio Programador de tareas se está ejecutando).
  2. Llame a ITaskScheduler::Activate para obtener la interfaz ITask del objeto de tarea. (Tenga en cuenta que en este ejemplo se obtiene la tarea "Tarea de prueba".
  3. Llame a CreateTrigger para crear un objeto desencadenador. (Tenga en cuenta que CreateTrigger se hereda de IScheduledWorkItem).
  4. Defina una estructura de TASK_TRIGGER . Tenga en cuenta que los miembros wBeginDay, wBeginMonth y wBeginYear de TASK_TRIGGER deben establecerse en un día, mes y año válidos, respectivamente.
  5. Llame a ITaskTrigger::SetTrigger para establecer los criterios del desencadenador.
  6. Guarde la tarea con el nuevo desencadenador en el disco mediante IPersistFile::Save. (La interfaz IPersistFile es una interfaz COM estándar compatible con la interfaz ITask ).
  7. Llame a Release para liberar todos los recursos. (Tenga en cuenta que Release es un método IUnknown heredado por ITask).
Para obtener un ejemplo de código de Vea
Creación de un desencadenador para una tarea existente Ejemplo de código de C/C++: Crear un desencadenador de tarea

 

Ejemplos del programador de tareas 1.0