C#启动计划任务

C#启动计划任务,c#,task,remote-connection,C#,Task,Remote Connection,我正在尝试用c语言编写一个简单的表单,它将在一些计算机上运行一个预定任务。 到目前为止,我掌握的知识是: private void button_Click(object sender, EventArgs e) { try { for (int i = 0; i < num_of_computers; i++) { string line;

我正在尝试用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!");
        }
而且效果很好。 有什么建议吗?
谢谢

我使用了以下方法,效果很好,可能会有所帮助(插入您的论点)


我建议为任务调度器使用一个.NET包装器


我过去使用过,效果很好。

使用Microsoft.Win32.TaskScheduler

using (TaskService tasksrvc = new TaskService(@"\\" + servername, username, domain, password, true))
{       
    Task task = tasksrvc.FindTask(taskSchedulerName);
    task.Run();
}   

“出于某种原因”——什么原因?它可能是任何东西。您有任何错误消息吗?在调试器中运行此代码时,
Process.Start
返回一个值-即进程?是否确认要启动的字符串与在命令提示符中测试的字符串相同?
var p = new Process
                            {
                                StartInfo =
                                    {
                                        UseShellExecute = false,
                                        FileName = "SCHTASKS.exe",
                                        RedirectStandardError = true,
                                        RedirectStandardOutput = true,
                                        CreateNoWindow = true,
                                        WindowStyle = ProcessWindowStyle.Hidden,
                                        Arguments = arguments
                                    }
                            };
            p.Start();
using (TaskService tasksrvc = new TaskService(@"\\" + servername, username, domain, password, true))
{       
    Task task = tasksrvc.FindTask(taskSchedulerName);
    task.Run();
}