[150分]请问,外部程序的异常导致主程序暂停运行,如何处理!
程序流程是这样的
t = new Thread(new ThreadStart(Listener));
t.Start();
Listener中死循环监听广播UDP消息,当有消息到来时
ExeCommand(udpcmd)
这是ExeCommand的一个重载函数
public string ExeCommandArray(string[] commandTexts)
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
string strOutput = null;
try
{
p.Start();
foreach (string item in commandTexts)
{
p.StandardInput.WriteLine(item);
}
p.StandardInput.WriteLine("exit");
strOutput = p.StandardOutput.ReadToEnd();
p.WaitForExit();
p.Close();
}
catch (Exception e)
{
strOutput = e.Message;
}
return strOutput;
}
----------------------------------------
现在当CMD运行一个外部EXE时,有时候这个EXE会报出异常,问是否调试,我的主程序也暂停在那里,不再接收消息,直到我点击“不调试”……
这样的问题怎么解决?
[解决办法]
我顶!!!Mark!
[解决办法]
顶
[解决办法]
没有研究过哦;
干什么不 开辟一个线程;
[解决办法]
顶你个肺
[解决办法]
本来就没什么人了...
[解决办法]
顶下 沉默的神
[解决办法]
再顶
[解决办法]
委托,回调