![](/img/trans.png)
[英]Call of a method from C++ dll opens console window in C# app, how do I suppress the console?
[英]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 FindWindow , ShowWindow沒有問題。 但是我如何將文本(輸出)從控制台窗口重定向到文本框?
您可以使用以下代碼運行游戲:
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.