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

时间:2012-04-07 07:24:27

标签: c# scheduled-tasks

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

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

2 个答案:

答案 0 :(得分:3)

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

Process.Start("schtasks", commandParams);

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

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

答案 1 :(得分:3)

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

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

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

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

schtasks /delete /TN AppName