Hallo,
ich habe einige Informationen aus diesem Thread hier genommen: http://www.java-forum.org/allgemeine-java-themen/84156-runtime-getruntime-exec.html
Ich starte mit folgendem Code auf eine Batchdatei im Hintergrund. Wenig später soll an dieses Programm der Buchstabe q zum Abbruch gesendet werden. Die Batchdatei startet intern das Programm FFmpeg zum Aufnehmen des Desktops. Sobald man q drückt, bricht ffmpeg mit der Aufnahme ab.
Das blöde ist aber, dass die Aufnahme dadurch nicht abgebrochen wird, sie läuft weiter. Wieso ist das so? Muss man evtl noch ein "Enter" mitschicken? eigentlich nicht oder? Wäre wirklich dankbar für eure hilfe!
ich habe einige Informationen aus diesem Thread hier genommen: http://www.java-forum.org/allgemeine-java-themen/84156-runtime-getruntime-exec.html
Ich starte mit folgendem Code auf eine Batchdatei im Hintergrund. Wenig später soll an dieses Programm der Buchstabe q zum Abbruch gesendet werden. Die Batchdatei startet intern das Programm FFmpeg zum Aufnehmen des Desktops. Sobald man q drückt, bricht ffmpeg mit der Aufnahme ab.
Java:
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("cmd /s /c test.bat");
InputStream stderr = (InputStream) proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null ;
System.out.println("<ERROR>");
OutputStream out = proc.getOutputStream();
OutputStreamWriter osr = new OutputStreamWriter(out);
BufferedWriter bw = new BufferedWriter(osr);
bw.write('q');
Das blöde ist aber, dass die Aufnahme dadurch nicht abgebrochen wird, sie läuft weiter. Wieso ist das so? Muss man evtl noch ein "Enter" mitschicken? eigentlich nicht oder? Wäre wirklich dankbar für eure hilfe!