Mit AttachConsole, muss der Benutzer die "enter" - Taste bekommen reguläre Befehlszeile
Ich habe eine progaram werden können, lief sowohl als winform, oder von der Kommandozeile. Wenn Sie aufgerufen wird, von einer Befehl Linie nenne ich AttachConsole(-1) zu befestigen Elternteil Konsole.
Jedoch, nach meinem Programm endet, muss der Benutzer drücken Sie die EINGABETASTE, um wieder die standard-Eingabeaufforderung ("c:\>"). gibt es eine Möglichkeit das zu vermeiden müssen?
Dank.
Ich konnte wickeln Sie es in eine cmd-Datei zu vermeiden, dass Problem, aber ich möchte es von meiner exe.
- Haben Sie jemals herausfinden? Ich habe die gleiche Sache und wäre daran interessiert zu wissen, ob es eine Arbeit um.
- Nein habe ich nicht. Sorry.
- Gleiche problem hier. Der Benutzer ist auf einem standard-Kommandozeile, aber die Eingabeaufforderung nicht angezeigt wird (bis Sie die EINGABETASTE drücken, um re-zeigen Sie es)
- Jemand mit einer ähnlichen (ungelöstes) problem hier: groups.google.com/group/microsoft.public.win32.programmer.ui/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie diese Zeile einfach vor Ihr exe beendet...
Bisschen ein hack, aber die beste die ich finden konnte, wenn ich begegnet diesem problem.
Rob L s Ansatz ist etwas gefährlich, da es senden Sie die EINGABETASTE, um das aktive Fenster. Ein besserer Ansatz ist die tatsächliche senden Sie die EINGABETASTE, um den richtigen Prozess (die Konsole).
hier ist, wie
--snip--
Diese Lösung baut auf dem code, der ist hier zu finden:
http://www.jankowskimichal.pl/en/2011/12/wpf-hybrid-application-with-parameters/
Hier ist der sicherste hack, löst die Enter-Taste, problem unabhängig davon, ob das console-Fenster im Vordergrund, hintergrund oder minimiert. Sie können sogar führen Sie es in mehreren Konsolenfenstern.
Ok, ich habe nicht die Lösung, aber es scheint zu sein, weil die cmd.exe wartet nicht auf den begonnen Prozess, in der Erwägung, dass mit einer normalen Konsolenanwendung cmd.exe wartet, bis die Anwendung beendet wird. Ich weiß nicht, was macht cmd.exe entscheiden, zu warten oder sich nicht auf eine Anwendung, die normale Windows-Forms-Anwendungen sind gerade begonnen und cmd.exe nicht warten, bis es zu beenden. Vielleicht ist dieser Hinweis löst jemand! Ich werde ein bisschen tiefer Graben, in der Zwischenzeit, während.
Wout
Versuchen Sie den Aufruf der FreeConsole Funktion vor dem beenden der ausführbaren Datei.
Diese ist die einfachste Lösung für mich: