c#程序在运行其他进程后退出
本文关键字:进程 退出 其他 运行 程序 | 更新日期: 2023-09-27 18:05:27
这个问题很奇怪。我以前从未遇到过这样的事情。我试图使我的程序提取一个文件使用7zip。我以前在其他节目中做过这个,从来都不是很难。我复制粘贴我的代码到:
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();
在这段代码运行之后,我的应用程序立即终止。它就这样消失了。它当然不是故意的!我使用了step into function并运行了它。process.Start();
一完成程序就关闭了,让我回到Visual c#中。它没有运行任何Application.Exit();
什么的,它就这样消失了。在Visual c#中没有错误等待我。所以我试着在最后添加一个MessageBox.Show("Test");
。在步进模式下运行。process.Start();
是否正常,一旦它执行了MessageBox代码,它又消失了。我甚至没有在消息框中点击ok(它在应用程序终止前显示了大约0.2秒)
如果这段代码在Main()中,那么当你的代码完成执行时,它将结束。您能将包含此片段的完整代码张贴在哪里吗?
您可以通过包含
等待进程完成。process.WaitForExit();
检查ExitCode
可能会告诉您进程是否成功。你总是可以重定向standardror来检查那个的输出。
process.StartInfo.RedirectStandardError = true;
string error = process.StandardError.ReadToEnd();
在process.Start()之后尝试process.WaitForExit()