任务计划程序:从当前时刻开始每小时运行一次任务

时间:2013-07-25 15:52:23

标签: c++ windows winapi scheduled-tasks

问题在于:我需要创建计划任务,该计划任务将从安装之日起每小时执行一次。然后每次用户登录时都必须启动它。

到目前为止一切顺利。使用examples from msdn我已经基于ILogonTrigger创建了一个任务,我将重复设置为一小时就可以了。重新登录或重新启动任务完成后 - 我需要的东西。但我现在不希望用户重启或重新登录。

所以问题是:如何从当前时刻开始倒计时?我明白我可以强制执行已注册的任务 - 但这就是我想要避免的,我想在一小时后再开始,然后再一次,等等......

我现在可以想象的一个解决方案是创建无需重复的登录任务,并以一些延迟启动它。每次执行时都会延迟再次运行。但这对我来说是一个糟糕的解决方案。可能是我错过了什么?

喔。所有必须与任务调度程序的第一个版本兼容(即设置TASK_COMPATIBILITY_V1设置)。但我可以没有它生活:)

感谢您的建议,如果有的话。

1 个答案:

答案 0 :(得分:0)

好的,我已经成功地完成了自己想做的事情。

对于Task Scheduler 2.0,可以通过为task分配另一个触发器来完成:IRegistrationTask。如果将设置TASK_COMPATIBILITY_V1设置,则不会分配触发器。

对于Windows XP,我刚创建了IDailyTrigger,其起始边界设置为00:05。这不是我需要的,但它的效果非常好。