.net进程:如何“监视”进程输出并使应用程序事件响应

时间:2010-11-27 17:54:23

标签: c# .net

我正在尝试使用C#和mencoder开发视频转换器。 目前它的工作原理,但我有一些问题需要解决。特别是

  1. 在执行过程中是否可以“阻止”我的前端应用程序?实际上我的应用程序停止响应事件直到被调用过程结束

  2. 在进程.net类中存在一些事件来管理我的应用程序的标准输出,所以我可以更新例如带有输出的文本框?

  3. 由于

2 个答案:

答案 0 :(得分:1)

我找到了

p.OutputDataReceived += new DataReceivedEventHandler(MEncoderOutputHandler);

答案 1 :(得分:0)

使用Application.DoEvents() 如果你调用一个阻止代码的函数并花费很长时间来响应你也不应该从UI线程调用它。只需创建一个新线程,调用该函数并与UI进行交互。 另请注意,从另一个线程访问UI会抛出异常,因此您应该使用委托或使用backgroundworker控件来处理它们。