Input/Output ProcessBuilder und Windows - Konsole verbergen?

Der Code
Java:
private Process p;
private static fianl String VLC = ...; // absoluter Pfad zum VLC-Player.
private String path;
...
public void method() {
...
ProcessBuilder pb = new ProcessBuilder(VLC, 
							path, "vlc://quit", 
							"--no-video", "-I dummy");
p = pb.start();
...
}
startet einen neuen Prozess, der den VLC-Player öffnet und die Tonspur einer Quelle
Code:
path
wiedergibt, ohne die GUI des VLC-Players zu zeigen und ihn nach dem Abspielen wieder beendet.

Der Codeschnipsel funktioniert soweit und macht das, was er soll. Unter Mac OS passiert auch nichts weiter, als dass eben beschriebene.
Unter Windows allerdings, öffnet sich im Vordergrund eine Eingabeaufforderung, in der die Ausgaben des VLC-Players angezeigt werden.

Gibt es eine Möglichkeit, die das Öffnen der Eingabeaufforderung unterdrückt oder zumindest in den Hintergrund legt? Oder gibt es gar die Möglichkeit, den Prozess als Hintergrundprozess zu deklarieren?
 
Zuletzt bearbeitet:

Network

Top Contributor
Meinst du mit Eingabefenster das schwarze CMD.exe Fenster?

Wenn ja poste ich einfach mal den Code den ich zurzeit "standardmäßig" verwende und ohne Probleme funktioniert:
Java:
String cmd[] = new String[]{ [Programmpfad], [Argumente] };
Runtime.getRuntime().exec(cmd, null, new File([Programmordner]));
 
Ja, mit der Eingabeaufforderung meine ich Fenster von
Code:
cmd.exe
, bzw. eig. heißt es dann
Code:
Path\vlc.exe
.

Mit
Code:
Runtime.getRuntime().exe(...)
habe ich einige Zeit herumgespielt, bisher hat das allerdings nicht zum gewünschten Erfolg geführt. Unter Mac OS war das überhaupt kein Problem, unter Windows schon.
Wenn ich unter Windows ein Programm mit
Code:
java Programmname
über die Eingabeaufforderung geöffnet habe, klappt das prima, aber sobald ich mein Programm zu einem
Code:
.jar
-Archiv bundele, passiert an der Stelle, die den Systemcall machen soll, gar nichts.
Allerdings habe ich eine etwas andere Syntax verwendet:
Java:
Process p = Runtime.getRuntime().exec(VLC + " " + path + " vlc://quit --no-video -I dummy");
Kann es vielleicht daran liegen? Vorstellen kann ich mir das aber nicht.
 

Network

Top Contributor
Naja ich hatte bei den ersten malen immer das Problem, dass keine Leerzeilen auftauchen dürfen, da es sonst nicht erkannt wird.
Unter Windows (Mit MacOS habe ich das nie geprüft) ist das Problem, dass Ordner manchmal anderst heißen als es dransteht.
Bsp: Win7 und Vista, heißt der Ordner "Programme" in Wirklichkeit: "Program Files".

Durch meine obig beschriebene Methode wird genau dieses Problem zu 100% vermieden, weil es egal ist ob da Leerzeichen sind.


Deine Erklärung verstehe ich jedoch nicht ganz:
"java Programmname" geht, aber wenn du es zu einer "jar" machst nicht?

Meine Java Programme starte ich in dem Sinne immer über java [Programmname] und haben auch alle die Endung .jar
Entschuldige aber das leuchtet mir gerade nicht ganz ein.
 
Der Pfad ist mir total egal. Der ist schon richtig. Zu Programmstart habe ich, sofern noch nicht im settings-file gespeichert, einen Öffnen-Dialog, mit dem der VLC Player gewählt werden muss. Da bekomme ich den absolut korrekten Pfad schon her.

Mh, da habe ich mich zu kurz ausgedrückt ...

Wenn ich ein Programm mit
Code:
javac [Mainklasse.java]
kompiliere, kommt zunächst eine Datei
Code:
[Mainklasse].class
heraus, diese kann ich mit
Code:
java [Mainklasse]
über die Konsole starten.
Eigentlich exportiere ich das Programm aber mit Eclipse. Aus dem Exportprozess fällt hinten eine
Code:
[Programmname].jar
-Datei heraus.

Was ich meinte ist:
Es funktioniert, wenn ich per Hand kompiliere und auf der Konsole per
Code:
java [Mainklasse]
das Programm starte. Dann wird der VLC-Player gestartet und die Tonspur abgespielt.
Es funktioniert nicht, wenn ich das von Eclipse exportierte jar-File per Doppelklick starte. Das Programm läuft zwar, aber es startet nicht den VLC-Player.
 

Tobse

Top Contributor
Es funktioniert nicht, wenn ich das von Eclipse exportierte jar-File per Doppelklick starte. Das Programm läuft zwar, aber es startet nicht den VLC-Player.
Dann erstell doch die jar mal selbst, so 100% minimalistisch:
Code:
Main-Class: ...
Und fertig. Es kann ja sein, dass Eclips da irgendwelche einstellungen reinhaut, die Windoof nich mag.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Windows XP: ProcessBuilder.start: Kommandoshell anzeigen Allgemeine Java-Themen 3
L Super User via Processbuilder (Linux) Allgemeine Java-Themen 3
T ProcessBuilder Output Allgemeine Java-Themen 12
S Command funktioniert in Kommandzeile aber nicht mit ProcessBuilder bzw. Runtime.exec auf MAC Allgemeine Java-Themen 3
H Syntax ProcessBuilder Allgemeine Java-Themen 7
E ProcessBuilder findet Datei nicht Allgemeine Java-Themen 3
V ProcessBuilder exe file Allgemeine Java-Themen 3
D ProcessBuilder und die while() Allgemeine Java-Themen 3
T ProcessBuilder (java.lang.NoClassDefFoundError) Allgemeine Java-Themen 2
G ProcessBuilder Allgemeine Java-Themen 2
B Externe Programme und ProcessBuilder Allgemeine Java-Themen 5
V Shellscript über ProcessBuilder starten Allgemeine Java-Themen 2
A ProcessBuilder Allgemeine Java-Themen 8
Y ProcessBuilder, Prozess wird gestartet, aber Anwendung nicht Allgemeine Java-Themen 5
B ProcessBuilder: kann Ordner im home nicht finden Allgemeine Java-Themen 2
A Runtime oder ProcessBuilder exe starten Allgemeine Java-Themen 3
N ProcessBuilder Allgemeine Java-Themen 5
N ProcessBuilder Allgemeine Java-Themen 8
F ProcessBuilder - Exception Allgemeine Java-Themen 2
J Handle + ProcessBuilder: Wer sieht den Fehler? Allgemeine Java-Themen 2
D Formatierte Ausgabe vom ProcessBuilder Allgemeine Java-Themen 4
D ProcessBuilder und Scanner Probleme mit einigen Prozessen Allgemeine Java-Themen 2
F Pfadangabe bei Processbuilder Allgemeine Java-Themen 4
R -jar der Windows-Registry hinzufügen Allgemeine Java-Themen 1
C jar File mehrfach aufrufen (als Windows Dienst) Allgemeine Java-Themen 5
izoards JAR als Windows Service mit Appache Procrun (prunsrv) Allgemeine Java-Themen 6
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
MarekLanger Filebeat in Docker unter Windows Allgemeine Java-Themen 1
M Registry Autostart Eintrag mit Java erstellen (über Windows cmd) Allgemeine Java-Themen 7
S Java-Task-Management-Tool für Windows und Mac selber programmieren Allgemeine Java-Themen 4
M Console geht nicht auf (Windows 10) Allgemeine Java-Themen 3
M TomEE auf Windows Server 2016 installieren Allgemeine Java-Themen 4
Thallius Rätsel für Windows Profis Allgemeine Java-Themen 8
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
T Java Windows sounds erkennen Allgemeine Java-Themen 1
P Java als Windows Dienst Allgemeine Java-Themen 2
I GUI für kleine Pop-Ups unter Windows Allgemeine Java-Themen 1
H Änderung im maximalen heap space unter Windows 7 ?! Allgemeine Java-Themen 5
dereki2000 Windows Benachrichtigung erzeugen Allgemeine Java-Themen 2
Neumi5694 Task-Name unter Windows Allgemeine Java-Themen 4
M Checkliste mit erweiterbaren Einträgen, Baumstruktur, wie Windows Explorer Navigation Allgemeine Java-Themen 2
S Java OpenOffice Problem mit Windows-Benutzerwechsel Allgemeine Java-Themen 19
R JDK installieren JDK / Maven auf Windows 10 installieren Allgemeine Java-Themen 9
K jar-Datei lässt sich unter Windows nicht verwenden Allgemeine Java-Themen 3
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
D Jsch nur für Windows? Allgemeine Java-Themen 2
X JDK installieren Weiß jemand, wie ich GCJ (WINDOWS) installieren und anwenden kann? Allgemeine Java-Themen 11
D JRE in .jar verpacken unter Windows Allgemeine Java-Themen 4
I Programm im Hintergrund bei Windows zur Steuerung der Tastatur nutzen Allgemeine Java-Themen 2
D Aktuell installierte Java Version auslesen unter Windows Allgemeine Java-Themen 5
S Executable Jar File startet nicht unter Windows 10 Allgemeine Java-Themen 3
C Windows RCP Application unter Linux bauen lassen Allgemeine Java-Themen 3
E Anwendung verhält sich unter Mac anders als Unter Windows. Allgemeine Java-Themen 4
S JNLP startet seit 1.8.0_31 sehr langsam + Windows-Systemverzeichnis Allgemeine Java-Themen 3
M Windows 98 - Mit welchem JDK (Version) kann noch Programm dafür erstellt werden Allgemeine Java-Themen 6
Tom299 Beliebiges Windows-Programm / Prozess in den Vordergrund bringen Allgemeine Java-Themen 4
D Konsoleneingabe ist in Windows CMD nicht sichtbar Allgemeine Java-Themen 4
P Effizientes Programmieren - oder Windows Autostart fürs Herunterfahren Allgemeine Java-Themen 11
O Zugriff auf Windows Zertifikatstore Allgemeine Java-Themen 2
F Windows Umlaute Allgemeine Java-Themen 15
T Windows-Kontextmenü Eintrag hinzufügen? Allgemeine Java-Themen 3
O Socket-Unterschiede zwischen Windows und Ubuntu Allgemeine Java-Themen 2
G Wie installiere ich javax-usb unter windows? Allgemeine Java-Themen 0
M Swing Windows und Ubuntu Allgemeine Java-Themen 4
H JFileChooser soll NUR Windows-Netzwerkumgebung anzeigen Allgemeine Java-Themen 2
L Windows CMD werte Parsen. Allgemeine Java-Themen 2
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
HarleyDavidson Tomcat VS Windows Scheduled Task Allgemeine Java-Themen 4
T JNI: kein Zugriff auf VM in Callback-Methode eines Windows-Hooks Allgemeine Java-Themen 3
W Windows (Service) Hooking Allgemeine Java-Themen 8
M Java auf Linux und Windows Allgemeine Java-Themen 6
R Windows-Firewall lässt Java nicht durch Allgemeine Java-Themen 17
R Java-Progamm über Icon starten unter Windows Allgemeine Java-Themen 9
N Input/Output Mit Windows 7 erzeugtes zip-File in Java 7 öffnen Allgemeine Java-Themen 5
P Eclipse Unter Windows erstelle .jar unter Linux (Ubuntu) funktioniert nicht Allgemeine Java-Themen 5
R ZIP FileSystem unter Windows wirft exception Allgemeine Java-Themen 7
njans Windows Verknüpfung von Icon Allgemeine Java-Themen 2
P windows mit java bedienen Allgemeine Java-Themen 8
X Windows-Environment-Variable per jRegistryKey anpassen Allgemeine Java-Themen 6
P .Jar Datein Windows Konsole zugewiesen Allgemeine Java-Themen 3
C Encoding Problem Windows Allgemeine Java-Themen 9
R Welches User-Verzeichnis wählen für Configurationsdateien - Windows Allgemeine Java-Themen 2
R Änderungen in einem Verzeichnis beobachten - Windows Allgemeine Java-Themen 3
A Nach Benutzerwechsel mit anderem Account in Windows anmelden Allgemeine Java-Themen 8
T Jar File läuft unter Windows aber nicht unter linux Allgemeine Java-Themen 10
B Windows Konsolenbefehle Allgemeine Java-Themen 3
Z Probleme bei Stringvergleichen (Windows/Linux) Allgemeine Java-Themen 10
B Windows Shutdown abfangen Allgemeine Java-Themen 10
E CMD Registry Key für Windows 7? Allgemeine Java-Themen 9
TiME-SPLiNTER vlcj und Windows Allgemeine Java-Themen 15
S Prozess der von anderem Prozess gestartet wurde beenden? (Windows Bildschirmtastatur) Allgemeine Java-Themen 4
G Input/Output URLDecoder.decode - Unterschiedliche Ergebnisse Windows / Linux Allgemeine Java-Themen 2
R Windows ermitteln ob Administratorrechte vorhanden Allgemeine Java-Themen 17
Y MenuBar -> Windows / Mac OS X Allgemeine Java-Themen 2
L Java Quellcode auf Windows 7 ausführen? Allgemeine Java-Themen 3
I Encoding Problem bei exec und Windows Allgemeine Java-Themen 2
R Windows - User Passwort ändern Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben