# Programme mit Java öffnen



## GAST (21. Okt 2003)

Der Titel sagt fast schon alles:
Ich möchte mit eine Java-Applikation ein anderes Programm öffnen.
Gibt es einen Befehl der Art System.open("Programmname.exe"); oder so was ähnliches?
Wäre dankbar für jede Hilfe


----------



## Nobody (21. Okt 2003)

```
try {
  Runtime.getRuntime().exec("Anwendung.exe");
}
catch (Exception e) {
   System.err.println(e.toString());
}
```


----------



## Gast (22. Okt 2003)

```
public class OPEN
{
 public static void main (String[] args)
 {
  String target = args[0];
  try
  {
   Runtime.getRuntime().exec(target); 
  } 
  catch (Exception e) {System.err.println(e.toString());} 
 }
}
```

Habe den oben stehenden Quellcode aufgesezt. Doch wenn ich im Terminal (ich arbeite mit MacOSX) zum Beispiel folgenden Befehl eingebe: java OPEN /applications/iTunes.app
bekomme ich immer eine Fehlermeldung.

java.io.IOException: /applications/iTunes.app: cannot execute

kann man mit Java nur .exe files ausführem? Oder gibt es einen Fehler in meinem Code der das Öffnen verhindert?


----------



## Stefan1200 (23. Okt 2003)

Unter MacOS X habe ich mit dem Ausführen von Programmen das gleiche Problem. Mein Programm StartPanel (siehe Homepage) hat das gleiche Problem wie du. Wenn du eine Lösung findest, und du diese nicht hier finden solltest, bitte unbedingt hier in diesem Forum reinschreiben, mich würde das nämlich interessieren, warum dieser Fehler kommt.

Wenn ich eine Lösung finde, schreibe ich es hier auch rein.


----------



## Stefan1200 (7. Jan 2004)

So, ich hole den Thread nochmal hoch. Vieleicht weilen jetzt ja auch Mac Java Programmierer unter uns.
Das es geht weiss ich, die Frage ist nur wie. Vielleicht kennt jemand eine Lösung für das "Programme starten unter Mac OS Problem".


----------



## Stefan1200 (1. Mrz 2004)

Von:	Kerberus	
An:	Stefan1200	
Verfasst am:	28. 02. 2004, 23:02	
Titel:	getRuntime() unter MacOSX

Habe die Lösung gefunden, wie man unter MacOSX Programme starten kann. 
Der Befehl Runtime.getRuntime().exec() greift aufs Terminal zu, daher kann man normale UNIX-Befehle anwenden um Programme zu starten. 

Befehl: open classpath 

Beispiel 

Runtime.getRuntime().exec(open /Applications/Mail.app); 

dadurch wird Mail gestartet.



PS: Danke Kerberus.


----------



## rtt (3. Nov 2004)

Nobody hat gesagt.:
			
		

> ```
> try {
> Runtime.getRuntime().exec("Anwendung.exe");
> }
> ...



Hi, wenn ich das so mache bekomme ich immer eine Exception
java.io.IOException: CreateProcess test.exe error2

Kann mir da einer weiterhelfen?
Danke 
Gruß Robin


----------



## rtt (4. Nov 2004)

Hab den Fehler gefunden.
Man muß den denauen Pfad mit angeben.
So gehts:

kurze version:

```
try { 
    Runtime.getRuntime().exec("c:\\windows\\notepad.exe"); 
} 
catch (Exception rune) {System.out.println(rune);}
```

lange version:

```
Runtime rt = Runtime.getRuntime();
Process pro = null;

try {
    pro = rt.exec("c:\\windows\\notepad.exe");
}
catch(Exception e){System.out.println(e);}
```

Gruß Robin


----------

