我正在尝试使用写入的库中的过程 Win32 gui应用程序中的C语言。
此库的作者将错误消息记录到stderr,如下所示。
fprintf(stderr, "Error in %s: %s\n", procname, msg);
如何将打印到stderr的邮件放入邮箱?
感谢。
答案 0 :(得分:1)
您可以使用SetStdHandle选择其他句柄作为您的流程“stderr
。创建一个管道,让一个线程等待该管道的信息,并将该管道的写句柄设置为stderr
。如果定义了足够大的缓冲区,则可以跳过该线程,并在每次调用库后只读取管道中的数据。
答案 1 :(得分:0)
如果您有权访问代码,那么最简单的方法就是将sprintf转换为缓冲区并调用MessageBox() - 而不是对stderr进行某种级别的重定向。