Ejemplo de creación de un desencadenador inactivo

Para crear un desencadenador inactivo, debe especificar un desencadenador inactivo al crear el desencadenador y debe establecer el tiempo de inactividad de la tarea. Para obtener información sobre las condiciones de inactividad, vea Condiciones de inactividad de tareas.

Después de crear el desencadenador inactivo, llame a IPersistFile::Save para guardar el nuevo desencadenador en el disco.

En el procedimiento siguiente se describe cómo crear un desencadenador inactivo para una tarea conocida.

Para crear un desencadenador inactivo para una tarea conocida

  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 SetIdleWait para establecer cuánto tiempo debe permanecer inactivo el sistema antes de que se active el desencadenador. (Tenga en cuenta que SetIdleWait se hereda de IScheduledWorkItem).
  4. Defina la estructura TASK_TRIGGER y llame a CreateTrigger para crear el desencadenador inactivo. (Tenga en cuenta que CreateTrigger se hereda de IScheduledWorkItem).
  5. Guarde la tarea con el nuevo desencadenador inactivo en el disco mediante IPersistFile::Save. (La interfaz IPersistFile es una interfaz COM estándar compatible con la interfaz ITask ).
  6. Llame a ITask::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 inactivo para una tarea existente Ejemplo de código de C/C++: Creación de un desencadenador inactivo

 

Ejemplos del Programador de tareas 1.0