C#通过Process启动其他程序遇到的疑问!

闷头挣钱 2014-10-18 08:09:54

private void BTN_START_Click(object sender, EventArgs e)
{
new Thread(delegate()
{
Process m_Process = new Process();
m_Process.StartInfo.FileName = “help”;//这个可以正常输出,与控制台输出一致
//m_Process.StartInfo.FileName = "java";//这个没有输出,为啥?与控制台输出不一致
m_Process.StartInfo.UseShellExecute = false;
m_Process.StartInfo.RedirectStandardOutput = true;
m_Process.StartInfo.CreateNoWindow = true;
m_Process.OutputDataReceived += new DataReceivedEventHandler(Process_OutputDataReceived);
m_Process.Start();
m_Process.BeginOutputReadLine();
m_Process.WaitForExit();
m_Process.Close();
}).Start();
}

public delegate void OutputText(string text);
void Process_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
OutputText dl = new OutputText(delegate(string text)
{
if (text == null) return;
C_CONSOLE.AppendText(text);
C_CONSOLE.AppendText("\r\n");
C_CONSOLE.ScrollToCaret();
});
C_CONSOLE.BeginInvoke(dl, e.Data);
}

...全文
115 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
闷头挣钱 2014-10-18
  • 打赏
  • 举报
回复
他喵的java标准输出用的是Error m_Process.ErrorDataReceived += m_Process_ErrorDataReceived; m_Process.BeginErrorReadLine(); 加上这两句就好使了
闷头挣钱 2014-10-18
  • 打赏
  • 举报
回复
呵呵,刚刚发出帖子我就找到问题了
wind_cloud2011 2014-10-18
  • 打赏
  • 举报
回复
哪里出错?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧