Win32 GUI应用程序:如何将stderr消息发送到消息框中

时间:2010-11-05 19:35:10

标签: c winapi

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

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

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

如何将打印到stderr的邮件放入邮箱?

感谢。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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