Autorun für DVD

GenerationLost

Mitglied
Hallo Leute!

Hoffe bin hier erstmal im richtigen Unterforum, falls nicht, bitte verschieben.

Ich würde gerne ein Autorun für eine Spiele-DVD erstellen. Mit der autorun.inf kenn' ich mich schon aus.
Ich bin nach den Ferien in der 13 auf einem technischen Oberstufengymnasium und mache dort seit 2 Jahren Java im Informatikunterricht, die Grundlagen sind also da.
Es soll eine ganz einfache GUI-Anwendung mit ein paar Buttons werden, die beim Auswählen die jeweilige .exe auf der DVD öffnen sollen.

Dazu brauche ich nun eigentlich nur eine Methode die den Laufwerkspfad in dem die DVD liegt erkennt und eine Methode mit der ich dann die jeweilige .exe öffnen lassen kann.

Hoffe, ihr könnt mir helfen.

LG,
GenerationLost :meld:
 
*.exe zu öffnen ist kein Problem.
Java:
Dekstop.getDesktop().open(File);
öffnet dir alle Dateien mit dem damit verknüpften Programm oder anders gesagt: simuliert einen Doppelklick.

Vielleicht hilft dir der folgende Code und der folgende Link beim Herausbekommen des Laufwerksbuchstabens:
Java:
FileSystemView view = FileSystemView.getFileSystemView();
for ( File f : File.listRoots() )
  System.out.println( view.getSystemDisplayName(f) );

http://www.java-forum.org/allgemeine-java-themen/4354-laufwerke-auflisten.html
 
Erstmal danke für eure Antworten!

*.exe zu öffnen ist kein Problem.
Java:
Dekstop.getDesktop().open(File);
öffnet dir alle Dateien mit dem damit verknüpften Programm oder anders gesagt: simuliert einen Doppelklick.

Gibt es keine Methode der man einen String mit dem Dateipfad übergeben kann? Mit der Klasse File kenne ich mich noch gar nicht aus.

Vielleicht hilft dir der folgende Code und der folgende Link beim Herausbekommen des Laufwerksbuchstabens:
Java:
FileSystemView view = FileSystemView.getFileSystemView();
for ( File f : File.listRoots() )
  System.out.println( view.getSystemDisplayName(f) );

http://www.java-forum.org/allgemeine-java-themen/4354-laufwerke-auflisten.html

Bei mir gibt das nur meine Festplatten Partitionen aus, aber nicht das DVD-Laufwerk. Dazu mit samt der Beschreibung, der Laufwerksbuchstabe genügt ja vollkommen.
 
Zuletzt bearbeitet:
Java:
Desktop.getDesktop().open(new File(DEIN PFAD));

Danke, so klappts!

Kriege den aktuellen Laufwerksbuchstaben nun mit File.getAbsolutePath(); heraus. Das Problem ist nun, dass ich dann z.B. das Verzeichnis "F:\" übergeben bekomme. Aber Java nimmt in einem String ja nur doppelte Backslashes... Meine Lösung wäre wie folgt:
Java:
File f = new File("");
String rootdir = f.getAbsolutePath(); //übergibt z.B. "F:\"
String path = rootdir + "\ORDNER\\DATEI.EXE";
Desktop.getDesktop().open(new File(path));

Nur kann ich ja keinen einzelnen Backslash einfügen. Wie könnte ich das lösen? Oder brauche ich den nicht zu escapen, weil er ja von der Funktion schon so übergeben wurde?
 
Zuletzt bearbeitet:
Okay, das mit dem Backslash hat sich erledigt, es funktioniert so.
Bin aber gerade auf ein neues Problem gestoßen. Über die normale Autorun Funktion von Windows kann man ja keine .jar-Dateien ausführen, jedenfalls wird diese dann nicht mit Java gestartet, sondern sonst wie versucht, sodass die Fehlermeldung kommt, dass es keine gültige Anwendung sei.
Habe mir dazu dann eine Batchdatei geschrieben, die die .jar dann mit Java ausführen soll, allerdings habe ich kaum Erfahrung damit. Sie sieht so aus:

Code:
@echo off 

javaw -jar panel.jar 

exit

Funktionieren tut es so nicht, da bekomme ich die Meldung, dass der Befehl "javaw" nicht gefunden wurde. Wie krieg ich das sonst hin? Um die jre noch mit auf DVD zu brennen habe ich keinen Platz mehr, aber Java ist sowieso immer auf dem Rechner installiert.
 
Nope, funktioniert auch nicht. Liegt das etwa an meiner Java-Installation? Sollte das im Normalfall funktionieren (z.B. auf dem PC meines Kumpels mit Java-Installation)? Oder gibt es einen anderen Weg die .jar als Autorun starten zu lassen?

EDIT:
Eine Frage noch am Rande:
Wenn ich benutzerdefinierte Fonts in einem JFrame benutze, werden die in die .jar gespeichert sodass man sie auch auf einem PC ohne diese Fonts noch etwas sieht, oder ist das dann nicht lesbar, oder wird stattdessen der Standard-Font genutzt?
 
Zuletzt bearbeitet:
Probier das mit den Fonts doch mal aus. Du suchst dir irgendeine Schriftart raus. Z. B. Interkosmo, schreibst einen Text mit ihr und startest dann dein Programm auf einem anderen Rechner.

Ich vermute, dass eine Exception fliegt oder die Standartschriftart verwendet wird.



Das mit den Umgebungsvariablen ist gut. Ich hab nämlich dasselbe Problem. 😀
 

Neue Themen


Zurück
Oben