【发布时间】:2013-10-05 18:01:12
【问题描述】:
我正在启动一个这样的 .exe
ProcessStartInfo start = new ProcessStartInfo();
start.Arguments = stuff;
start.FileName = "test.exe";
try{
using (Process proc = Process.Start(start))
{
proc.WaitForExit();
...
}
}
catch
{
...}
来自一个线程。问题是有时“test.exe”会崩溃,打开一个弹出窗口说
“应用程序崩溃等等等等。在互联网上寻找解决方案等等”
“test.exe”崩溃是意料之中的,但我需要的是或关闭弹出窗口以释放线程,或首先“捕获”exe崩溃。
代码中的 try-catch 不会捕获崩溃的 exe。
你能帮忙吗? 谢谢
【问题讨论】:
-
要检测崩溃,您需要检查退出代码。
-
@DarrenKopp 崩溃的程序会在“此程序已崩溃”弹出窗口出现之前返回退出代码吗?
-
好吧,
WaitForExit在程序退出之前不会运行,无论是在该消息发生之前还是之后发生,我不确定,但我猜它是在之后(因为你可以附加调试器通过该消息)
标签: c# multithreading popupwindow