我知道这个问题之前已经被问过了,我也在之前的帖子中尝试了所有给出的解决方案,但似乎都不能使其正常工作:
static void CallBatch(string path)
{
int ExitCode;
Process myProcess;
ProcessStartInfo ProcessInfo;
ProcessInfo = new ProcessStartInfo("cmd.exe", "/c " + path);
ProcessInfo.CreateNoWindow = true;
ProcessInfo.UseShellExecute = true;
myProcess = Process.Start(ProcessInfo);
myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
myProcess.WaitForExit();
myProcess.EnableRaisingEvents = true;
myProcess.Exited += new EventHandler(process_Exited);
ExitCode = myProcess.ExitCode;
Console.WriteLine("ExitCode: " + ExitCode.ToString(), "ExecuteCommand");
myProcess.Close();
}
当我尝试调用批处理文件时,即使createNoWindow和UseShellExecute都设置为true,它仍然显示窗口。我应该加入其他内容使其静默运行批处理文件吗?
FileName
设置path
,完全绕过cmd
,或者您正在尝试运行批处理文件? - Sergey Kalinichenkopause
在寻找用户输入,所以操作系统会弹出窗口。 - Sergey Kalinichenko