我有一个从我的程序调用的 DLL,它将状态输出到 Visual Studio 输出窗口(假设这是标准输出),我想在运行时捕获该输出。
如何执行此操作的所有示例都假设我使用 Process 启动外部应用程序或控制台应用程序,然后从 Process 实例捕获 StandardOutput,我自己已经做过多次了。但在这种情况下,我的程序直接调用 DLL——我没有启动额外的进程。
当我的程序调用 DLL 时,我想读取它打印到标准输出的内容以记录它以进行调试,如果 DLL 失败,可能会退出我的程序。当 DLL 调用返回时,我的程序应该会正常继续。
我知道我需要另一个线程来处理 DLL 输出,而我的另一个线程在 DLL 调用中;我只是不知道如何首先捕获输出。