コンソールを別のコンソールから制御/書き込みすることは可能ですか? 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();