0

是否可以从另一个控制台控制/写入控制台。我已经测试了 Console.WriteLine,但什么也没发生。我很感激任何帮助。


我的意思是从另一个类写到控制台。很抱歉造成误导。我有一个服务器类(Server.cs)和主类(Program.cs)。服务器类将向控制台写入一些有关连接的信息以及类似的内容。

4

2 回答 2

1

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

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

于 2012-04-26T21:38:10.840 回答
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();
于 2012-04-26T21:38:52.793 回答