# Wie kann man unter Windows 7 file types mit Java Applikationen verknüpfen?



## binz (11. Sep 2011)

Hallo,

Ich möchte Dateien mit einer bestimmten Endung mittels Doppelklick mit einer Java-Applikation öffnen. Wie geht das unter Windows 7?
Unter Windows XP, hab ichs hinbekommen, in dem ich die entsprechende Dateiendung mit C:\Programme\Java\jre6\bin\javaw.exe -jar mein.jar "%1" verknüpft habe, aber der Dialog von Windows 7, in dem man die Default Programme festlegen kann, scheint nur .exe Dateien ohne Parameter zu akzeptieren.... :autsch:

Grüsse und Danke für eure Hilfe!
Marco


----------



## Empire Phoenix (11. Sep 2011)

Launch4j kannste dein java programm in ne exe wrappen.


----------



## Michael... (12. Sep 2011)

Ich weiß nicht, ob es unter Win 7 andere Möglichkeiten gibt. Was aber definitiv geht ist den Eintrag direkt in der Registry unter HKEY_CLASSES_ROOT vorzunehmen - mit den üblichen Risiken einer direkten Manipulation in der Registry.

Bin mir nicht 100%ig sicher, aber es sollte funktionieren den XP Registry Eintrag zu der Dateiendung zu exportieren und in die Win 7 Registry zu importieren - Voraussetzung der Pfad zur JRE ist der selbe bzw. wird vor dem Import angepasst.


----------



## binz (13. Sep 2011)

Michael... hat gesagt.:


> Ich weiß nicht, ob es unter Win 7 andere Möglichkeiten gibt. Was aber definitiv geht ist den Eintrag direkt in der Registry unter HKEY_CLASSES_ROOT vorzunehmen - mit den üblichen Risiken einer direkten Manipulation in der Registry.
> 
> Bin mir nicht 100%ig sicher, aber es sollte funktionieren den XP Registry Eintrag zu der Dateiendung zu exportieren und in die Win 7 Registry zu importieren - Voraussetzung der Pfad zur JRE ist der selbe bzw. wird vor dem Import angepasst.



Hab ich probiert, scheint aber nicht zu funktionieren. Windows 7 interessiert sich wohl nicht gross für Registry Einträge, die aus einem XP kommen.....


----------



## kodela (5. Okt 2011)

Hallo,

es funktioniert unter W7 einwandfrei. Entweder machst Du die Sache wie im alten XP über das kleine aber feine Tool "ExtMan", oder Du kopierst folgende Zeilen in eine Textdate, bei der Du die Extention in ".reg" umbenennst und die Du dann mit einem Doppelklick ausführen lässt.

Hier die Einträge:

```
[HKEY_CLASSES_ROOT\.sud]
@="sud-File"

[HKEY_CLASSES_ROOT\sud-File]
@="binäre Sudokudatei"
"EditFlags"=dword:00020000
"AlwaysShowExt"=""

[HKEY_CLASSES_ROOT\sud-File\DefaultIcon]
@="I:\\Tools\\Icons\\SUDOKU.ICO,0"

[HKEY_CLASSES_ROOT\sud-File\shell]

[HKEY_CLASSES_ROOT\sud-File\shell\Open]
@="Open"

[HKEY_CLASSES_ROOT\sud-File\shell\Open\command]
@=""C:\\Program Files (x86)\\Java\\jre6\\bin\\javaw.exe" "-jar" "I:\\Tools\\Sudoku\\KODELAs_Sudoku\\kodeku.jar" "%1""

[HKEY_CLASSES_ROOT\sud-File\shell\Open\ddeexec]
@=""

[HKEY_CLASSES_ROOT\sud-File\shell\Open\ddeexec\Application]
@=""

[HKEY_CLASSES_ROOT\sud-File\shell\Open\ddeexec\IfExec]
@=""

[HKEY_CLASSES_ROOT\sud-File\shell\Open\ddeexec\Topic]
@=""
```

Du musst natürlich den Text an Deine Verhältnisse anpassen. Bei mir sind es Dateien mit der Extention "sud", bei denen auf einen Doppelklick mein Sudoku-Programm gestartet wird, dem der Name der Datei, auf die der Doppelklick ausgeführt wurde, übergeben wird.

In den Zeilen 9 und 10 ist die Einbindung eines Icons für alle sud-Dateien realisiert.

in Zeile 18 muss der Pfad für die auszuführende jar-Datei eingetragen werden.

Bei mir funktioniert das. Ein kleines Problem ist noch, dass ich bei dem Aufruf von
private String userDir = System.getProperty("user.dir");​nicht mehr das Arbeitsverzeichnis der jar-Datei sondern das Verzeichnis bekomme, in dem die Datei liegt, auf die ich den Doppelklick ausführe. Da bin ich auf der Suche nach Abhilfe.

MfG. Konrad


----------



## maki (5. Okt 2011)

*verschoben*


----------

