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

我的申请需要每天午夜重新开始。 对于这项工作,据我所知,任务调度程序将是理想的使用方法,但我无法找到如何在C#中使用任务调度程序API(不使用外部库)

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

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

 Process.Start("schtasks", commandParams); 

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

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

我建议你写一个服务来处理这个问题。 另外,为什么需要重启

但是如果您必须使用任务计划程序,请尝试这样:

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

您只需在批处理脚本中键入此内容并在用户安装应用程序时运行批处理脚本,然后将其放入卸载批处理脚本中:

 schtasks /delete /TN AppName