在任务计划程序C ++

时间:2018-08-31 12:40:36

标签: c++ windows winapi taskscheduler

我开始使用Windows10 Task Scheduler。

我正在开发GUI应用程序,因为我需要控制触发任务的间隔天数。

假设如果我在GUI中输入5天,那么它将在5天后触发任务。同样,随机用户可以更改日期。

当前,我有一个任务计划程序中已经存在的任务,因为我需要控制用户界面中触发的日期。

我已经在MSDN中看到了Task Scheduler的示例,但是它们都与创建新任务或检索现有任务的状态有关。

我不想创建新任务,我想每次都编辑现有的相同任务。

我没有找到与编辑任务计划程序中已存在的任务有关的任何内容。

请任何人帮助我使用Task Scheduler 2.0编辑C ++中的时间触发天。

1 个答案:

答案 0 :(得分:4)

似乎可以执行的操作是访问为给定任务定义的所有ITrigger实例。这些为您提供了a pretty straightforward interface through which you set trigger times/limits/repetitions等任务。

您可以通过ITaskDefinition's get_Triggers() method访问这些触发器对象,该对象将返回一个ITriggerCollection,您可以对其进行迭代以找到触发器。通过调用IRegisteredTask's get_Definition() method获得ITaskDefinition对象。您可以通过调用ITaskFolder's GetTask() method来获得IRegisteredTask对象。首先,您可以通过调用ITaskService's GetFolder() method获得实例。很少感谢MS提供API的想法。

如果您需要基本的帮助来查找标题和运行代码,那么this documentation page底部有一个代码示例,其功能与您所请求的不同(它创建了一个新任务,而不是访问现有任务),但可以为您提供所有必要的样板摘要。