繁体   English   中英

Win32 GUI应用程序:如何将stderr消息放入消息框

[英]Win32 GUI app: how to get stderr messages into messagebox

我正在尝试使用Win32 gui应用程序中用C语言编写的库中的过程。

该库的作者将错误消息记录到stderr,如下所示。

fprintf(stderr, "Error in %s: %s\n", procname, msg);

如何将打印到stderr的消息放入消息框?

谢谢。

您可以使用SetStdHandle选择另一个句柄作为进程的stderr 创建一个管道,让一个线程等待该管道的信息,然后将该管道的写句柄设置为stderr 如果定义了足够大的缓冲区,则可以在每次调用库之后跳过线程并仅从管道读取数据。

如果您可以访问代码,那么最简单的方法是将sprintf缓存到缓冲区并调用MessageBox()-而不是对stderr进行某种级别的重定向。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM