[英]C# start a scheduled task
我正在嘗試用 C# 編寫一個簡單的表單,該表單將在某些計算機上運行計划任務。 到目前為止,我所擁有的是:
private void button_Click(object sender, EventArgs e)
{
try
{
for (int i = 0; i < num_of_computers; i++)
{
string line;
line = (" /run /tn myTask /s " + _ReplacerObj.MyComputers[i] + " /u user s /p password");
proc.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
proc.FileName = @"C:\WINDOWS\SYSTEM32\schtasks.exe";
proc.Arguments = line;
Process.Start(proc);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error Message!");
}
出於某種原因,這不起作用(即 - 計划任務未啟動)。 我嘗試從 cmd 運行:
c:\windows\system32\schtasks.exe /run /tn myTask /s myIp /u user /p password
它工作正常。 有什么建議? 謝謝!
我建議為任務調度程序使用 .NET 包裝器之一。
我過去用過這個,效果很好。
使用 Microsoft.Win32.TaskScheduler;
using (TaskService tasksrvc = new TaskService(@"\\" + servername, username, domain, password, true))
{
Task task = tasksrvc.FindTask(taskSchedulerName);
task.Run();
}
我使用以下工作正常,可能會有所幫助(插入您的論點)
var p = new Process
{
StartInfo =
{
UseShellExecute = false,
FileName = "SCHTASKS.exe",
RedirectStandardError = true,
RedirectStandardOutput = true,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
Arguments = arguments
}
};
p.Start();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.