我的应用程序需要每天午夜重新开始。根据我的说法,对于这项工作,任务调度程序将是理想的选择,但我无法找到如何在 C# 中使用任务调度程序 API(无需使用外部库)
从任务计划程序启动应用程序完成后,我还想要建议如何在特定时间自动关闭应用程序(即使该特定时间的应用程序可能没有响应,显示一些错误消息框或由于某些问题而无法工作)
我的应用程序需要每天午夜重新开始。根据我的说法,对于这项工作,任务调度程序将是理想的选择,但我无法找到如何在 C# 中使用任务调度程序 API(无需使用外部库)
从任务计划程序启动应用程序完成后,我还想要建议如何在特定时间自动关闭应用程序(即使该特定时间的应用程序可能没有响应,显示一些错误消息框或由于某些问题而无法工作)
好吧,我想你不知道这个schtasks
命令。
您只需打开命令提示符并键入schtasks /?
即可查看可用选项。
这里需要的是/create
. 当然这个选项需要一系列参数来配置你的计划任务。但最后你可以解决所有调用:
Process.Start("schtasks", commandParams);
对于关闭过程部分,我使用了Microsoft 的 Mark Russinovichpskill
的Sysinternals 套件中的一个小实用程序。这也可以在设置为计划任务的批处理文件中调用。
编辑:从 psshutdown 更改为 pskill (您只需要关闭您的应用程序对吗?)
我建议你写一个服务来处理这个问题。另外,为什么需要重启?
但是,如果您必须使用任务调度程序,请尝试如下:
schtasks /create /SC DAILY /TN AppName /TR AppExecutablePath /ST 0
0:00 /ET TIMEFORENDTASK
您可以简单地在批处理脚本中键入它并在用户安装应用程序时运行批处理脚本,然后将其放入卸载批处理脚本中:
schtasks /delete /TN AppName