有运行调度程序的解决方案可以开始触发。但我的要求是在结束时也触发。
我有一个如下表所示的时间表: -
似乎工作复杂。请给我一个更好的解决方法。
答案 0 :(得分:0)
我假设您在上面显示的计划应用程序将该信息保存到文件中。如果是这样,您可以执行以下操作。
首先,您要执行的进程必须有某种方式被告知它需要关闭。我会假设它是某种Windows事件或某个文件或数据库中的标志,它会定期检查。如果你没有这个设施,那么你将很难安全地完成任务。
有一个小应用程序(称之为Keeper)从文件中读取计划。然后检查您正在安排的程序是否正在运行。如果它正在运行并且是暂停的时间,则发送信号告诉它停止。然后,创建计划任务以在下一个开始时间重新启动程序。还要创建一个计划任务,以使Keeper在下一个暂停时间运行。然后守护者退出。
每次修改计划时,您只需要运行Keeper程序,它就会知道它需要做什么:暂停程序,安排程序再次运行,并安排自己在下一次暂停时再次运行时间。
维护计划任务涉及少量复杂性,但这并不算太糟糕。只需要Keeper删除Program和Keeper的任何计划任务,基本上维护一些东西,以便每个都不会超过一个。
您需要访问task scheduler API。