我以为这会是一件轻而易举的事。我有许多由任务调度器管理的计划任务。它们被配置为按时间表运行,但也可以"按计划"运行;"按需";。
我们希望通过任务调度程序来集中这些特定作业的所有内容。作为其中的一部分,我们希望能够从Winforms应用程序、控制台应用程序等运行计划任务。
我似乎找不到一个.NET 5 API来和任务模块交互。我意识到.NET现在是跨平台的,这是非常以Windows为中心的,但如果我们能与许多系统的基础进行交互,那就太好了。
对于从命令行/控制台运行,这应该会有所帮助:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks
尝试
var processStartInfo = new ProcessStartInfo
{
Arguments = Arguments(),
CreateNoWindow = true,
FileName = Executable,
...
};
var process = System.Diagnostics.Process.Start(processStartInfo);
运行
schtasks.exe /run /TN TaskName