Öffnen Sie zwei windows-Konsole aus C#
[DllImport("kernel32.dll")]
private static extern Int32 AllocConsole();
Kann ich öffnen cmd.exe mit diesem Befehl. Aber ich kann nur öffnen Sie eine Konsole-Fenster und schreiben Sie. Wie kann ich ein anderes? Ist jede saubere und schnelle Lösung für die öffnung der beiden Konsole von windows?
- AllocConsole nicht starten cmd.exe Prozess-Instanz - es erzeugt nur eine Konsole und legt es auf Ihren Prozess.
- kann ich dann erstellen Sie zwei windows-Konsole?
- Nein, das können Sie nicht. Windows erlauben es nicht.
- Bitte Bearbeiten Sie diese post, um anzuzeigen, dass Sie beziehen sich auf die Konsole von windows, nicht cmd.exe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider nicht, tut mir Leid — Sie können nicht mehr als eine Konsole-Fenster pro Anwendung in Windows.
So können Sie mehrere console-Fenster innerhalb einer einzigen C# - windows-app, aber dazu müsste man ein paar Dinge. Prozess.start () und command-line-Parameter.
Wenn Sie es tun auf diese Weise können Sie Ihre app-erstellen einer anderen Instanz von sich selbst, aber mit verschiedenen Kommandozeilen-Parameter, um jeden Teil verschiedene Dinge tun.
Hier ist ein Vereinfachtes Beispiel, wie es zu tun.
Hier ist ein screenshot, dass es funktioniert.
Abschließend
Immer 2-Konsole von windows ist einfach, indem Sie miteinander sprechen, ist eine separate Frage, die in und von sich selbst. Aber ich würde vorschlagen, named pipes. Relevante Stackoverflow-Post
Müssen Sie Ihr denken ändern, weil die 2 Konsolen mal laufen verschiedene Prozesse nicht automatisch mit einander sprechen. Was auch immer Berechnung, die Sie tun, auf einer von Ihnen, der andere ist völlig ahnungslos.
Können Sie tun
so oft wie Sie möchten. Ist es das, was du meinst?