C#控制台输出

时间:2012-04-26 21:27:31

标签: c# console

是否可以从另一个控制/写入控制台。我已经测试了Console.WriteLine,但没有发生任何事情。我感谢任何帮助。


我的意思是从另一个写入控制台。对不起误导。 我有一个服务器类(Server.cs)和主类(Program.cs)。服务器类将向控制台写一些关于连接和类似内容的信息。

2 个答案:

答案 0 :(得分:1)

要写入调用控制台,您的应用程序需要在项目设置中标记为Console应用程序。如果您在UI应用程序中写入控制台,您的进程将创建一个新进程,然后在其中写入。

如果你想写入另一个现有的控制台,我想可以在Win32Api函数上使用P-Invoke,例如AttachConsoleWriteConsoleFreeConsole

答案 1 :(得分:0)

如果我没有错,你想要这样的东西

System.Diagnostics.Process p = new System.Diagnostics.Process();

p.StartInfo.FileName = "ModelExporter.exe";
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.Start();

StreamReader myStreamReader = p.StandardOutput;

// Reads a single line of the programs output.
string myString = myStreamReader.ReadLine(); 

// This would print the string to the DOS Console for the sake of an example.
// You could easily set a textbox control to this string instead...
Console.WriteLine(myString);

p.Close();