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