在Windows任务计划程序C#中计划任务

本文关键字:任务 计划 程序 Windows | 更新日期: 2023-09-27 18:30:13

我的应用程序需要每天午夜重新启动。根据我的说法,对于这份工作,任务调度器将是理想的使用方式,但我还没有找到如何在C#中使用任务调度器API(没有使用外部库)

从任务调度程序启动应用程序后,我还想了解如何在特定时间自动关闭应用程序的建议(即使应用程序在特定时间可能没有响应、显示一些错误消息框或由于某些问题而无法工作)

在Windows任务计划程序C#中计划任务

好吧,我想您不知道schtasks命令
您只需打开命令提示符并键入schtasks /?即可查看可用选项
这里需要的是/create。当然,此选项需要一系列参数来配置您的计划任务。但最终你可以解决所有呼叫:

Process.Start("schtasks", commandParams);

对于关闭过程部分,我使用了一个名为pskill的小实用程序,该实用程序位于微软的Mark Russinovich的Sysinternals套件中。这也可以在作为计划任务的批处理文件集中调用。

编辑:从psshutdown更改为pskill(你只需要关闭你的应用程序,对吗?)

我建议您编写一个服务来处理此问题。此外,为什么需要重新启动

然而,如果您必须使用任务调度程序,请这样尝试:

schtasks /create /SC DAILY /TN AppName /TR AppExecutablePath /ST 0
0:00 /ET TIMEFORENDTASK

你可以简单地在批处理脚本中键入它,并在用户安装应用程序时运行批处理脚本,然后将其放入卸载批处理脚本:

schtasks /delete /TN AppName