Gibt es eine Java-Bibliothek für den Zugriff auf die native Windows-API? Entweder mit COM oder JNI.Gibt es eine Java-Bibliothek für den Zugriff auf die native Windows-API?
Antwort
Sie könnten diese beiden versuchen, ich habe Erfolg mit beiden gesehen.
http://jawinproject.sourceforge.net
Das Java/Win32 Integrationsprojekt (Jawin) ist eine freie, Open-Source- Architektur für das Zusammenspiel zwischen Java und Komponenten ausgesetzt durch Microsoft Component Object Model (COM) oder durch Win32 Dynamisch Link-Bibliotheken (DLLs).
JNA bietet Java-Programme einfachen Zugang auf native Shared Libraries (DLLs auf Windows) ohne alles andere als Java Code-Nr Schreiben JNI oder nativen Code ist erforderlich. Diese Funktionalität ist vergleichbar mit Windows Platform/Invoke und Pythons Ctypes. Der Zugriff ist zur Laufzeit ohne Codegenerierung dynamisch .
JNA können Sie direkt in native Funktionen mit natürlichen Java Methodenaufruf aufrufen. Der Java-Aufruf sieht genauso aus wie in systemeigenem Code. Die meisten Anrufe erfordern keine spezielle Behandlung oder Konfiguration; Kein BoilerPlate oder generierter Code ist erforderlich.
Lesen Sie auch hier oben:
http://en.wikipedia.org/wiki/Java_Native_Interface
Das Java Native Interface (JNI) ist ein Programmierung Framework, das Java ermöglicht Code in einer Java Virtual Machine ausgeführt wird (JVM) zu Anruf und angerufen werden 1 von native Anwendungen (Programme spezifische zu einem Hardware- und Betriebssystem Plattform) und Bibliotheken wr iten in andere Sprachen, wie C, C++ und Assembly.
http://en.wikipedia.org/wiki/Java_Native_Access
Java Native Access bietet Java Programme einfachen Zugriff auf native shared Bibliotheken ohne das Java Native Interface zu verwenden. JNA Design zielt darauf ab, natürlichen Zugang mit einem Minimum an Aufwand bieten. No Vorläufiger oder generierter Klebstoffcode ist erforderlich.
JNA ist ziemlich nett. Ich bin nur ein Anfänger und ich fand es sehr einfach. Funktioniert nicht nur für die Win32-API, sondern für fast jede andere DLL.
Jacob auf der COM-Seite ist ziemlich gut (aber es ist echten COM - wie Sie in C++ schreiben - wenn Sie vertraut mit echten COM-Programmierung sind, dann ist Jacob ein Kinderspiel zu verwenden)
JNIWrapper oder ConfyJ von TeamDev.
Eine weitere Option ist WinRun4J. Es hat eine native Binding-Ebene, die mit pinvoke.net kompatibel ist (das native Bindungsformat, das in dot net verwendet wird). Weitere Informationen finden Sie unter examples. Es ist ein wenig zu früh, also YMMV.
(vollständige Offenlegung: ich arbeite an dem Projekt).
Noch eine andere Option ist JFFI - dies wird in jruby und jython verwendet, um mit nativen Bibliotheken zu interagieren.
Check out Waffle
- 1. Gibt es eine Standardmethode für den Zugriff auf die Windows-Dienstedatei in .Net?
- 2. Kennen Sie eine Java-Bibliothek für den Zugriff auf die native Linux-API?
- 3. Gibt es eine API für den Zugriff auf eine Unternehmenskontaktliste in Office 365?
- 4. gibt es eine Schnelltaste für den schnellen
- 5. Gibt es eine Möglichkeit, die gleiche Herkunftsrichtlinie von Javascript/jQuery für den lokalen Zugriff zu umgehen?
- 6. Gibt es eine gute IDE für React Native unter Windows?
- 7. Gibt es eine Quote für den Zugriff auf einen öffentlichen Google Kalender-RSS-Feed?
- 8. Gibt es eine einfachere Syntax für den Zugriff auf in einer Assembly eingebettete Ressourcen?
- 9. Gibt es eine Open-Source-Lösung für den Zugriff auf XA-Transaktionsdateien in Java?
- 10. Gibt es ein R-Paket für den Zugriff auf die Google Places-API?
- 11. Gibt es eine Möglichkeit DELL XPS-Media-Tasten für den Zugriff auf programm
- 12. Gibt es eine Java-Bibliothek oder ein Framework für den Zugriff auf serielle Ports?
- 13. Gibt es eine gute Bibliothek für den Zugriff auf HBase von Python?
- 14. Gibt es eine Bibliothek für den Zugriff auf OLE Structured Storage von C#?
- 15. Gibt es eine Open Source-Java-Bibliothek für die Schnittstelle zu einem Bildscanner?
- 16. Gibt es eine Einstellung in den Windows-Kopfzeilen, die die Definition von TCHAR-neutralen Funktionsnamen-Makros deaktiviert?
- 17. Gibt es eine API für die Google Plus-Ereignisse
- 18. React Native: Gibt es eine Callback-Funktion für den Fall, dass Ihre App geschlossen ist?
- 19. Gibt es Alternativen zu IronPython, Python für .NET für den Zugriff auf CLR von Python?
- 20. Zugriff auf Bundle von React Native
- 21. Gibt es eine Möglichkeit, den Zugriff auf eine öffentliche Methode auf eine bestimmte Klasse in C# zu beschränken?
- 22. SMS-Zahlungsoption für den Zugriff auf die Website
- 23. Java für den Zugriff auf PCI-Modem
- 24. Zugriff auf die Registrierungsseite Zugriff nur auf den Admin
- 25. Gibt es eine Möglichkeit, IP-Adressen den Zugriff auf meinen Parse-Server zu verbieten?
- 26. Zugriff auf eine Datei, die
- 27. Gibt es eine Möglichkeit, den Zugriff auf die Klasse eines Verfahrens zu gewinnen, wenn alles, was Sie haben eine aufrufbare
- 28. NativeScript - Native UI Zugriff
- 29. Zugriff auf den Standard-JAXB-Marshaller für die JAXRS-Ressourcenmethode
- 30. Gibt es ein Python-Modul für den Zugriff auf Advantage Database Server?
Nicht nitpick versucht, aber COM setzt Dienste über ein ** C ** Schnittstelle. – IInspectable