3
我知道這個問題以前已經問,我曾嘗試在之前的帖子中給出的所有解決方案,但我似乎無法使它發揮作用: -執行批處理文件默默
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,它仍會顯示窗口。
我應該讓其他東西讓它默默地運行批處理文件嗎?
當我用這段代碼替換它時,會出現一個cmd窗口,應用程序停止。這些窗口上沒有輸出。 – user1439090
@ user1439090非常好奇......您是否嘗試爲'FileName'設置'path',完全繞過'cmd',還是您嘗試運行的批處理文件? – dasblinkenlight
路徑是批處理文件的路徑。在我的情況下,批處理文件與exe文件存在於同一個文件夾中,所以我只是將批處理文件的名稱作爲參數傳遞。 – user1439090