我要在一个GUI程序中调用别人写的控制台程序,这个控制台程序通常间隔一段时间才有一部分输出,
如果使用管道,通过CreateProcess建立控制台进程,只有等控制台程序结束,或者控制台程序写满缓冲区才会通过管道发给我的GUI程序,我想实时获取控制台程序的输出,该怎么办??

解决方案 »

  1.   

    这种最好的方法就是GUI跟控制台之间有个通信机制,socket,文件,消息等都可以
      

  2.   

    以前有一个讨论类似问题的帖子http://topic.csdn.net/u/20070603/10/dfaab18b-b06d-474b-9685-3431c706125b.html
      

  3.   

    让另一个程序的输出能够被实时的捕捉到,这种情况是肯定可以的  
       
      楼主看看这篇文章  
      http://www.yesky.com/190/1852190.shtml
      

  4.   

    可以试下循环用
    ReadConsoleOutput()
      

  5.   

    可以参考新版《Windows核心编程》的第17章"Memory-Mapped Files",虽然内容很多,但其实使用起来没那么复杂。这上面说的比较详细一点。
      

  6.   

    楼上的几位都说的很清楚了。
    你需要一些其他的附加手段、方法才行。
    让控制台程序和GUI程序都能够实时获取管道的状态信息。
    即任一程序对管道做了任何操作之后,需要通过其他通道通知对方程序,你对通道做了更改。
      

  7.   

    gordon3000说的方法可以,不过我需要开一个控制台,谢谢。