日期:2014-05-17  浏览次数:20907 次

能在分支线程中开一个新的进程吗?
本帖最后由 SUZHOUTONY 于 2013-12-17 17:05:43 编辑
问题描述:
主程序是个WinForm,点下界面上的一个按钮后,会开启一个新的进程并执行一条控制台命令。主程序使用WaitForExit()等待该进程结束。这样问题就来了,在等待控制台命令结束的期间,主界面是阻塞的,对任何点击均没有响应,会给人死机的假象。所以特来请教各位大侠。
问题:
1,除了WaitForExit()外,有没有什么好的办法获知该进程是否结束?
2,有没有可能开一个分支线程,然后在这个线程内部开一个新的进程来执行控制台命令?
3,在控制台命令执行的时候,会不断的输出文字,我可以设置RedirectStandardOutput为true在该进程结束后获取所有的输出。但有没有方法在控制台命令执行过程中获取当时的实时输出信息?

------解决方案--------------------
可以多线程中开启新进程,这个你字节尝试下就知道了,何必多此一问。
实时输出也是可以的,启用异步模式读取,参考