簡體   English   中英

從控制台窗口(C ++應用程序)重定向到文本框(C#app)

[英]Redirect from console window(C++ app) to textbox(C# app)

我是需要運行另一個應用程序的creatin應用程序(C#)。 這個。 應用程序是游戲(C ++,Directx7,GDI,我沒有源代碼),顯示從dll(靜態)調試的控制台窗口。 對於show console window,這個dll有以下幾行:

AllocConsole();
freopen("CONIN$","rb",stdin);   
freopen("CONOUT$","wb",stdout);
freopen("CONOUT$","wb",stderr);

在我的c#app中。 我想隱藏控制台窗口並將文本從控制台窗口重定向到文本框。 對於隱藏控制台窗口我正在使用winapi FindWindowShowWindow沒有問題。 但是我如何將文本(輸出)從控制台窗口重定向到文本框?

您可以使用以下代碼運行游戲:

     Process process = new Process();
     process.StartInfo.FileName = "\"" + pathToGame + "\"";
     //process.StartInfo.Arguments = args;
     process.StartInfo.RedirectStandardOutput = true;
     process.StartInfo.RedirectStandardError = true;
     process.StartInfo.UseShellExecute = false;
     process.OutputDataReceived += new DataReceivedEventHandler(ReadOutput);
     process.ErrorDataReceived += new DataReceivedEventHandler(ReadOutput);

     process.Start();
     process.BeginOutputReadLine();
     process.BeginErrorReadLine();

     //process.WaitForExit();

CL輸出和錯誤將在這里

  private static void ReadOutput(object sender, DataReceivedEventArgs e)
  {
     if (e.Data != null)
     {
        //your output here
     }
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM