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

本文关键字:任务启动 永远 运行 计划 条件 任务 程序 | 更新日期: 2023-09-27 18:32:58

我的代码在 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

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

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