這個問題很奇怪。我從來沒有遇到過像這樣的事情。 我想讓我的程序使用7zip提取文件。我之前在其他程序中完成過這個任務,並且從未太困難。所以我複製並粘貼我的代碼:C#程序在運行其他進程後退出
Process process = new Process
{
StartInfo =
{
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
FileName = "7za.exe",
UseShellExecute = false,
ErrorDialog = false,
Arguments = "x -y -o\"" + outputPath +"\" \""+ inputFile +"\"",
RedirectStandardOutput = false,
}
};
process.Start();
此代碼運行後立即終止我的應用程序。它只是消失。這當然不是爲了!我用這個步驟進入功能並運行它。只要process.Start();
完成程序關閉並將我返回到Visual C#。它沒有運行任何Application.Exit();
或任何東西,它只是走開了。在Visual C#中沒有任何錯誤等待我。 所以我嘗試添加一個MessageBox.Show("Test");
到最後。在步進模式下運行。 process.Start();
沒有問題,只要它執行了MessageBox代碼,它就會再次消失。我甚至沒有點擊消息框中(這表明了對約0.2秒時停止應用程序之前)的Process.Start()之後)
您是否收到異常? 'Process'可以拋出它們,你知道... – Oded
你需要WaitForExit()... –