Externe PDF-Datei öffnen und schließen

hippokeng

Grünschnabel
Halleluja!

Aus einem Java-Programm heraus kann ich eine externe Datei mit

Desktop.getDesktop().open("datei.pdf"); oder mit
Runtime.getRuntime()exec ("rundll32 url.dll, FileProtocolHandler datei.pdf");

öffnen, beides funktioniert bei mir (Windows XP) einwandfrei. Nun möchte ich diese geöffnete Datei aus dem Programm heraus wieder schließen.
Bei der Desktop-Implementierung kenne ich keinen solchen Befehl, und bei der Runtime-Implementierung, bei der ja ein Prozeß p zurückgeliefert wird, funktioniert der Befehl p.destroy(); bei mir nicht.

Hat jemand einen Rat? Vielen Dank
 
so einfach geht das nicht.

mit deinem call öffnest du afaik einen neuen prozess, der abgekoppelt von deiner anwendung läuft. wenn dem so ist, hast du keinen einfluss mehr darauf. du müsstest dann stattdessen händisch den programmstart einbinden, was wiederum bedeutet, dass du jni-programmierung machen müsstest, da du die windows API direkt anzapfen müsstest.

meine aussage ist aber eine hypothese, die ich selbst bisher noch nicht selbst umgesetzt habe.

grüße
gore
 
Hallo gorefest,

danke für Deine Hilfe. So etwas Ähnliches habe ich mir leider auch schon gedacht: Ich öffne keine externe Datei aus meinem Programm heraus, sondern ich initiiere einen Prozeß p, welcher dieses tut. Diesen Prozeß p kann ich zwar nachträglich beenden (p.destroy();), dadurch wird aber die externe Datei nicht wieder geschlossen.

Dann bleibt sie - die Hilfe-Datei - eben geöffnet!
 
Zurück