# Eintrag im Windows Kontextmenü hinzufügen



## darie17 (30. Sep 2008)

Hallo zusammen,

Ich habe ein Programm (mit grafischer Oberfläche) geschrieben und möchte dabei noch was Spezielles programmieren. Kurz gesagt, ich habe ein Dateiverschlüsseler programmiert, das auf ein Kryptoalgorithmus basiert. Was ich will, ist dass der Benutzer auf eine Datei rechtsklicken kann und dort, neben der gewöhnlichen Liste mit "Öffnen", "Öffnen mit", "Löschen", "Umbenennen", "Eigenschaften" usw. auch zwei Einträge vorhanden sein sollen - Datei verschlüsseln bzw. Datei entschlüsseln.

Was ich also will ist durch Java neue Einträge in dem Windows Explorer Kontextmenü hinzuzufügen.

Na jetzt die Frage: wie macht man so was??  Ich habe gar keine Ahnung...

Danke!


----------



## Saxony (1. Okt 2008)

Hiho,

dazu muss man in der Registry unter HKEY_CLASSES_ROOT\Folder\Shell einen neuen Schlüssel anlegen.
Dem Default-Value dieses Schlüssel setzt du auf deine Anwendung und übergibst mit "%1" auch gleich die im Windows Explorer ausgewählte Datei als Startparameter deiner Anwendung.

In wie weit dies allerdings Sinn macht, so etwas OS spezifisches mit Java zu machen, sollte vorher hinterfragt werden. 

bye Saxony


----------



## The_S (1. Okt 2008)

Nunja, es macht schon Sinn. Bevor ich ne GUI mit C++ oder C programmiere, mach ich lieber nen Java-Prog außenrum und verwende nur native Schnittstelle über JNI oder eben die Registry - sofern das nötig ist. Außerdem bleibt ja immer noch die Möglichkeit dieses spezielle Feature für Windows-User anzubieten. User anderer Betriebssysteme haben dieses Feature eben nicht.

Du kannst im Forum mal nach "Regor" suchen. thE_29 hat dazu einen sehr schönen Beitrag geschrieben.


----------



## moormaster (1. Okt 2008)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Nunja, es macht schon Sinn. Bevor ich ne GUI mit C++ oder C programmiere, mach ich lieber nen Java-Prog außenrum



Wobei die GUI in C++ nicht notwendiger Weise komplizierter zu programmieren sein muss, als in Java (siehe z.B. Qt).


----------



## foobar (1. Okt 2008)

Anstatt JNI bietet sich auch JNA an: https://jna.dev.java.net/

Immer diese Akronyme ;-)


----------

