# Programm ins Kontextmenü vom Explorer einbinden



## Creativ (14. Feb 2009)

Hi,
Gibt es eine Möglichkeit ein Java-Programm in das Kontextmenü des Windows-Explorers einzubinden?
Also z.B. dass wenn man auf ein eine .jpg-Datei mit der Rechten Maustaste klickt, da unter Öffnen usw. noch ein Menüpunkt "Mit Testprogr. öffnen." und wenn man auf den Menüpunkt klickt wird die Jar gestartet mit einem Parameter der den Pfad zur Datei enthält.

Gruß,
Dennis


----------



## Ebenius (14. Feb 2009)

Wenn ich den engl. Wikipedia zum Windows Explorer glauben schenken mag, geht das nur mit einem COM-Objekt. Dazu wäre dann JNI nötig. :-(

Ebenius


----------



## Spacerat (14. Feb 2009)

Das gehört zwar nicht zu Java, aber:
- Extras->Ordneroptionen
- unter Dateitypen Dateityp (hier "jpg") auswählen
- Erweitert (wenn dort Widerherstellen steht, erst Widerherstellen und dann Erweitert)
- Neben der Liste Aktionen "Neu" auswählen.
- Der neuen Aktion einen Namen geben (z.B. "Mit Testprogramm öffnen") und ein Programm auswählen (EXE, COM oder BAT).

Ein Java Programm lässt sich dann über eine Batch (BAT) -Datei konfigurieren

```
@echo off
java -jar AbsolutePathToJarArchive %1
```
Hab' nur leider noch keinen Weg gefunden das ohne Dosfenster hin zu kriegen.


----------



## Ebenius (14. Feb 2009)

Nimm 
	
	
	
	





```
javaw -jar ...
```

Das kannste doch bestimmt direkt in dem Dialog eintragen, ohne eine Bat-Datei zu benutzen. Und mit javaw geht dann auch kein CMD-Fenster auf.

Ebenius


----------



## Spacerat (14. Feb 2009)

War zwar 'ne tolle Idee, aber ein Test hat ergeben, das beim Eintragen wohl nur 1 einziger Parameter übergeben werden darf.
	
	
	
	





```
java "-jar AbsPathToJar %1"
```
 funzt mit oder ohne Anführungszeichen jedenfalls nicht.


----------



## Ebenius (15. Feb 2009)

Schade. Den Test kann ich nicht machen; hab mein Windows vor langer Zeit vom Hof gejagt.


----------



## Creativ (15. Feb 2009)

Hi,
Werde das nachher mal unter Windows austesten.
Oder gibt es vielleicht noch eine Möglichkeit das über einen Registry-Eintrag zu machen?

Gruß,
Dennis


----------



## Creativ (22. Feb 2009)

Hi,
hat zwar etwas länger gedauert, aber hat so funktioniert wie Spacerat oben geschrieben hat.
Nur würde ich das gerne automatisch ablaufen lassen, also das der User eine datei öffnet und der Eintrag dann automatisch erstellt wird.
Habt ihr dafür auch noch einen Vorschlag?

Und nochmal kurz eine zwischenfrage:
Gibt es für Java auch globale keyBindings? Also dass die Keybindings auch funktionieren, wenn das Programm z.B. minimiert ist.

Gruß,
Dennis


----------



## Spacerat (22. Feb 2009)

Weiss jetzt nicht, was du genau meinst...
-Öffnen mit->Programm auswählen
-Batch-Datei suchen
-Häkchen bei "Dateityp immer mit diesem Programm ausführen"


----------



## Illuvatar (22. Feb 2009)

Schau dir mal JDIC und vor allem dieses Package an.

Globale KeyBindings gibts erstmal nicht und ich kenn auch kein Package dafür (kann natürlich trotzdem gut sein, dass das schonmal jemand gemacht hat). Ansonsten bleibt wohl nur JNI/JNA.


----------

