c++ - 任务计划程序 : run task each hour from the current moment

标签 c++ windows winapi scheduled-tasks

这里是问题所在:我需要创建计划任务,该任务将从安装的那一刻起每小时执行一次。然后它必须在每次用户登录时启动。

到目前为止一切顺利。使用examples from msdn我创建了一个基于 ILogonTrigger 的任务,我将重复设置为一小时,没关系。重新登录或重新启动后任务完美启动 - 这就是我所需要的。但我不希望用户立即重新启动或重新登录。

所以问题是:如何从当前时刻开始倒计时?我知道我可以强制运行已注册的任务 - 但那是我想避免的,我想在一小时后启动它,然后一次又一次,等等......

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

哦。所有这些都必须与第一个版本的任务计划程序兼容(即设置了 TASK_COMPATIBILITY_V1 设置)。但我可以没有它:)

感谢您的建议。

最佳答案

好的,我已经设法自己完成了几乎我想做的事情。

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

对于 Windows XP,我刚刚创建了将开始边界设置为 00:05 的 IDailyTrigger。这不是我真正需要的,但效果很好。

关于c++ - 任务计划程序 : run task each hour from the current moment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17862939/

相关文章:

c++ - 为什么 jeprof 评估的 jemalloc 内存配置文件似乎显示所有内存分配?

c++ - 如何找出两个图像之间的对象差异?

即使为每个人设置了权限,Java 也无法创建文件,除非管理员

c# - 如何将文件扩展名关联到 C# 中的当前可执行文件

c - 如何读取 GetHandleInformation 函数中的标志

windows - 如何使用 Win32 API 获取多个显示器的显示名称?

c++ - 在 map 中存储特定范围内的值

c++ - 使用 'auto' 删除许多 vector 元素

sql-server - 使用 PHP、ODBC 和 Windows 身份验证连接到 SQL Server

C++ 使用 MoveWindow() 动画按钮