JNativeHook ist eine Bibliothek zur Bereitstellung globaler Tastatur- und Maus-Listener für Java. Dadurch können Sie auf globale Verknüpfungen oder Mausbewegungen achten, die mit reinem Java sonst nicht möglich wären. Um diese Aufgabe zu erfüllen, nutzt JNativeHook plattformabhängigen nativen Code über die native Schnittstelle von Java, um systemweite Low-Level-Hooks zu erstellen und diese Ereignisse an Ihre Anwendung zu übermitteln.
Die folgenden Ereignisse sind über ihre jeweiligen Listener verfügbar.
Zusätzlich zu den globalen Ereignis-Listenern bietet diese Bibliothek die Möglichkeit, native Ereignisse an das native Betriebssystem zurückzusenden.
JNativeHook unterliegt der GNU Lesser General Public License, einer Erweiterung der GNU General Public License, die Ihnen zusätzliche Vertriebsrechte gewährt. Soweit ich weiß, können Sie diese Bibliothek in proprietären (Closed-Source-)Projekten verwenden, solange es sich um eine externe Bibliothek mit derselben Binärschnittstelle handelt. Sie können den Quellcode dieser Bibliothek ändern, um jeglichen proprietären Bedarf zu erfüllen, solange diese Änderungen gemäß den Bestimmungen und Bedingungen der LGPL zur Verfügung gestellt werden. Bitte wenden Sie sich an einen zugelassenen Anwalt, wenn Sie weitere Fragen oder Bedenken zur Lizenzkompatibilität haben.
Die Binärdistribution für JNativeHook finden Sie im Abschnitt „Releases“ der Projektseite. Maven-Benutzer können <groupId>com.github.kwhat</groupId>
und <artifactId>jnativehook</artifactId>
verwenden, um diese Bibliothek automatisch einzubinden. Die nächtlichen Builds finden Sie im Maven-Snapshot-Repository.
Wenn Sie diese Bibliothek nützlich fanden, denken Sie bitte über eine Spende nach.
Die grafische Beispielanwendung dient dazu, eine Echtzeitdemonstration der Rohausgabe für alle verfügbaren nativen Ereignisse bereitzustellen. Um die Anwendung auszuführen, führen Sie einfach die bereitgestellte JAR-Datei aus. Quellcode verfügbar unter src/main/java/com/github/kwhat/jnativehook/example/NativeHookDemo.java.
Aktueller Quellcode und Dokumentation verfügbar unter: https://github.com/kwhat/jnativehook/