是否可以从另一个控制台控制/写入控制台。我已经测试了 Console.WriteLine,但什么也没发生。我很感激任何帮助。
我的意思是从另一个类写到控制台。很抱歉造成误导。我有一个服务器类(Server.cs)和主类(Program.cs)。服务器类将向控制台写入一些有关连接的信息以及类似的内容。
要写入调用控制台,您的应用程序需要Console
在项目设置中标记为应用程序。如果您在 UI 应用程序中写入控制台,您的进程将创建一个新的,然后写入其中。
如果您想写入另一个现有控制台,我想可以在 Win32Api 函数上使用 P-Invoke,例如AttachConsole
,WriteConsole
和FreeConsole
.
如果我没记错的话,你想要这样的东西
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();