Frage

Jedes Mal, wenn ich benutze Runtime.exec("cmd /c start....") Ich öffne ein CMD -Fenster. Ich möchte eine nahtlosere Anwendung erstellen, indem ich jedes vorherige CMD -Fenster schließe. Wie kann ich das machen?

Wenn jemand einen besseren Weg kennt, eine Reihe von Befehlen im selben CMD -Fenster auszuführen, anstatt jedes Mal neue zu öffnen, wenn ich einen Befehl ausführe, lassen Sie es mich bitte wissen.

War es hilfreich?

Lösung

Sie können die geöffneten Fenster von Java nicht steuern. Aber ich schlage zwei Lösungen für Sie vor:

Zuerst:

Runtime.exec("cmd /c start /MIN ...")

Der Parameter /min verhindert, dass Fenster angezeigt werden.

Zweite: Geben Sie alle Anwendungen ein, die Sie in dieselbe Stapeldatei aufrufen und sie einmal anrufen müssen. :-)

Andere Tipps

Verwenden Sie Start nicht, das öffnet ein weiteres Fenster

Ersetzen:

Runtime.exec("cmd /c start....")

mit:

Runtime.exec("cmd /c ....")

Warum brauchen Sie CMD -Fenster?

Ich würde den Befehl direkt in Java ausführen und die Ausgabe erfassen und in einem lokalen Fenster anzeigen (falls er überhaupt benötigt wird).

Stellen Sie einfach sicher, dass Sie die gesamte Ausgabe aus dem Programm konsumieren oder es möglicherweise zum Stillstand bringen kann. Denken Sie auch daran, die Streams Stdout, Stderr und Stdin oder einige Dateigriffe zu schließen (nun, das gilt für einige JDKs auf einigen Unix -Oses ... Windows, wer weiß).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top