Die Registry ist unter Windows Betriebsystemen ein wichtiges Element, um Statusinformationen zu speichern und zu laden. Aufgabe Erstellen Sie ein Java-Programm, welches die Registry-Einträge bzgl. der Verknüpfungen verwaltet. Da dies direkt aus Java nicht möglich ist erstellen sie eine Dynamic Link Library (DLL) in C / C++, die Ihnen entsprechende Methoden zur Verfügung stellt, und greifen Sie mit Hilfe des Java Native Interface darauf zu. [...]
Auf einen Blick
- Note: 1,0
- Java- und C++-Quelltext für den Zugriff auf Dateiverknüpfungen
- Registry-Zugriff über JNI und die Windows-Bibliothek ADVAPI32.DLL
- Implementierung für den Zugriff auf die Registrierung von Windows 2000
- Entwicklung mit JDK1.2, Emacs und Microsoft Visual Studio 6.0
Inhaltsverzeichnis
1. AUFGABENSTELLUNG
1.1 Registry Abfrage mit Java (JNI)
1.1.1 Grundlage
1.1.2 Aufgabe
1.1.3 Testkriterien
2. LÖSUNG
2.1 Allgemeine Lösungsreihenfolge
2.2 Das Java-Programm
2.2.1 Erläuterung
2.2.2 Quelltext
2.3 Die C++ - Dynamic Link Library
2.3.1 ADVAPI32.DLL
2.3.1.1 long RegOpenKeyEx()
2.3.1.2 long RegCLoseKey()
2.3.1.3 long RegEnumKeyEx()
2.3.1.4 long RegQueryValueEx()
2.3.1.5 long RegCreateKeyEx()
2.3.1.6 long RegSetValueEx()
2.3.2 Erläuterung
2.3.2.1 void GetAlleErweiterungen()
2.3.2.2 void neuerKey()
2.3.2.3 long getErweiterung ()
2.3.2.4 long* getUserKey ()
2.3.3 Quelltext
2.3.3.1 Header
2.3.3.2 CPP-Datei
3. ALLGEMEINE HINWEISE
5. SOFTWARE
Zielsetzung und Themen
Die Entwurfsarbeit entwickelt ein Java-Programm, das Dateierweiterungen und zugehörige Programme aus der Windows-Registrierung ausliest und neue Verknüpfungen einträgt. Im Mittelpunkt steht die Frage, wie Java über das Java Native Interface und eine in C++ implementierte Bibliothek auf die Registrierung zugreifen kann.
- Verwaltung von Dateierweiterungen und Programmverknüpfungen
- Aufbau einer Java-Konsolenanwendung
- Einbindung nativer Methoden über das Java Native Interface
- Zugriff auf Registrierungsschlüssel mit ADVAPI32.DLL
- Implementierung und Quelltext der C++-Bibliothek
- Hinweise zur Verwendung unter Windows 2000
Auszug aus dem Buch
Allgemeine Lösungsreihenfolge
Um diese Aufgabe zu lösen musste erst einmal ein Java-Quellcode erstellt werden. Dieser baut die geforderte Eingabemaske auf und ruft dann entweder eine Methode zum ausgeben der einzelnen Erweiterungen mit ihren zugehörigen Programmen oder eine Methode zum erstellen eines Eintrags einer Erweiterung in die Registrierung auf. Diese Methoden werden als native Methoden deklariert. Der Quelltext wird dann durch den Java-Compiler compiliert. Mit Hilfe des javah-Programms wird nun eine Header-Datei erzeugt, die bereits eine Deklaration der vorher als nativ deklarierten Methoden enthält. Mit Hilfe eines Programms zum Erstellen von Dynamic Link Librarys wird nun in dieser DLL die Implementierung der Methoden vorgenommen.
Die Implementierung erfolgt mit Hilfe von Zugriffen auf API-Funktionen. Die von Windows bereitgestellte ADVAPI32.DLL stellt diverse Funktionen für den Zugriff auf die Registrierung bereit. Diese Funktionen werden später noch weiter spezifiziert.
Zusammenfassung der Kapitel
1. AUFGABENSTELLUNG: Das Kapitel beschreibt die zu entwickelnde Anwendung und ihre Anforderungen: vorhandene Dateierweiterungen anzeigen und neue Verknüpfungen eintragen.
2. LÖSUNG: Die Arbeit erläutert das Java-Programm, die verwendeten Funktionen der Windows-API und die Implementierung der nativen C++-Bibliothek. Quelltext und Headerdatei veranschaulichen den Aufbau.
3. ALLGEMEINE HINWEISE: Dieser Abschnitt behandelt die eingeschränkte Übertragbarkeit des Programms und mögliche Schwierigkeiten beim Zugriff auf die Registrierung.
5. SOFTWARE: Das Kapitel nennt die Werkzeuge, die für die Erstellung des Java-Programms und der Bibliothek verwendet wurden.
Schlüsselwörter
Windows-Registrierung, Dateierweiterungen, Dateiverknüpfungen, Java, Java Native Interface, C++, dynamische Bibliothek, Windows-API, ADVAPI32.DLL, Registrierungsschlüssel, Quelltext, Windows 2000
Häufig gestellte Fragen
Worum geht es in der Arbeit?
Die Arbeit beschreibt die Entwicklung eines Programms zur Verwaltung von Dateiverknüpfungen in der Windows-Registrierung.
Welche Themenfelder stehen im Mittelpunkt?
Im Mittelpunkt stehen Java, native C++-Methoden, das Java Native Interface und der Zugriff auf Registrierungsschlüssel über die Windows-API.
Welches Ziel verfolgt das Programm?
Es soll Dateierweiterungen mit zugehörigen Programmen anzeigen und neue Verknüpfungen in die Registrierung eintragen.
Welche Vorgehensweise wird verwendet?
Die Arbeit verfolgt einen praktischen Entwicklungsansatz: Sie erstellt eine Java-Anwendung und implementiert deren native Methoden in einer C++-Bibliothek.
Was behandelt der Hauptteil?
Der Hauptteil erläutert die Java-Anwendung, Funktionen der Bibliothek ADVAPI32.DLL und die Implementierung der nativen Methoden anhand von Quelltext.
Welche Schlüsselwörter charakterisieren die Arbeit?
Zu den zentralen Begriffen gehören Windows-Registrierung, Java Native Interface, C++, dynamische Bibliothek und Dateiverknüpfungen.
Welche Rolle spielt das Java Native Interface?
Es verbindet die Java-Anwendung mit den in einer nativen Bibliothek implementierten Methoden für den Registrierungszugriff.
Welche Funktionen der Windows-API werden erläutert?
Die Arbeit beschreibt unter anderem Funktionen zum Öffnen, Auflisten und Erstellen von Schlüsseln sowie zum Lesen und Setzen von Werten.
Für welches Betriebssystem wurde der Registrierungszugriff entwickelt?
Der Zugriff wurde für Windows 2000 erstellt. Die Arbeit weist darauf hin, dass das Programm nicht portabel ist und auch auf unterschiedlichen Rechnern Probleme auftreten können.
- Quote paper
- Patrick Harms (Author), 2002, Windows Registry Abfrage mit dem Java Native Interface, Munich, GRIN Verlag, https://www.grin.com/document/67541