考虑必须从另一个应用程序调用的单独可执行文件的情况,控制台应用程序通过stdout
,stderr
输出发出进度。现在,我在Codeproject上提到this文章,它允许我以静默方式运行此应用程序。但是,由于控制台应用程序需要时间来完成,因此我的主应用程序看起来应该完全冻结。现在,能够捕获控制台输出并在'类似GUI的'只读窗口上显示进度消息是很好的,如下所示:
我知道它可以完成,就像他们为基于控制台的ffmpeg
等大型程序所做的那样。如何在Win32 API中完成?
答案 0 :(得分:2)
显而易见的方法是创建一个读取子进程的stdout和stderr的线程。当有新内容时,该线程会通知UI线程然后显示它。