从c#代码我打电话给schtasks删除一些预定的任务。我做了第一个电话,我收到了这个错误:
错误:不允许同一用户使用多个用户名与服务器或共享资源建立多个连接....
以下是运行该过程的代码:
Process stProc = new Process();
stProc.StartInfo.UseShellExecute = false;
stProc.StartInfo.FileName = "SCHTASKS.exe";
stProc.StartInfo.RedirectStandardError = true;
stProc.StartInfo.RedirectStandardOutput = true;
stProc.StartInfo.CreateNoWindow = true;
stProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
stProc.StartInfo.Arguments = args;
stProc.Start();
stProc.BeginOutputReadLine();
stProc.BeginErrorReadLine();
stProc.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
stProc.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);
stProc.WaitForExit();
stProc.Close();
stProc.Dispose();
我的论据是正确的:http://msdn.microsoft.com/en-us/library/bb736357(v=vs.85).aspx
为了确保我的连接没有闲逛,我在每次删除调用之前创建一个新进程来终止它:
StartProcess(args);
Process x = new Process();
x.StartInfo.FileName = "cmd";
x.StartInfo.Arguments = @" net use \\servername\ipc$ /delete";
x.StartInfo.CreateNoWindow = true;
x.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
x.Start();
不确定这里有什么。可能是其他人正在使用这台机器,所以我的电话无法通过?
任何想法都赞赏!
谢谢!