具有空闲条件的任务计划程序中的任务启动但从不运行

时间:2013-09-26 13:37:18

标签: c# windows .net-3.5 scheduled-tasks

我的代码在Win 7任务计划程序中成功创建了一个任务,设置了所有条件和触发器。下面的代码片段是设置空闲触发器,我可以在任务调度程序中看到它全部设置,所以我知道它正在创建它。如果我在任务计划程序上单击运行,程序就会按预期启动,所以我知道该操作也是正确的。

Task.Settings.RunOnlyIfIdle = true;
Task.Settings.IdleSettings.StopOnIdleEnd = false;

// The amount of time that the computer must be in an idle state before the task is run.
Task.Settings.IdleSettings.IdleDuration = TimeSpan.FromMinutes(1);
// Value that indicates the amount of time that the Task Scheduler will wait for an idle condition to occur
Task.Settings.IdleSettings.WaitTimeout = TimeSpan.FromHours(2);

// Set up the Idle trigger.
trigger = Task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_IDLE);

如果我等待预定的时间等等,任务开始但状态排队,即使我将电脑闲置了很长一段时间,程序也不会运行。

为什么我的任务会运行但空闲状态似乎永远不会满足?

  

我找到了关于Windows如何处理空闲状态的页面。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa383561(v=vs.85).aspx

1 个答案:

答案 0 :(得分:0)

除了空闲任务触发器之外,您还需要在任务定义中设置RunOnlyIfIdle