2009-03-03 12 views

risposta

19

Si potrebbe provare questi due, ho visto il successo con entrambi.

http://jawinproject.sourceforge.net

Il progetto di integrazione Java/Win32 (Jawin) è un libero, open source architettura per l'interoperabilità tra Java e componenti esposti attraverso Component Object modello di Microsoft (COM) o attraverso Win32 Dynamic Librerie di collegamento (DLL).

https://github.com/twall/jna/

JNA fornisce programmi Java un facile accesso a librerie condivise native (DLL sul di Windows) senza scrivere nulla, ma codice-no Java JNI o ​​codice nativo è richiesto. Questa funzionalità è paragonabile alla piattaforma/Invoke di Windows e ai tipi di codice di Python. L'accesso è dinamico in fase di runtime senza generazione del codice.

JNA consente di chiamare direttamente nelle funzioni native utilizzando il richiamo del metodo Java Java . La chiamata Java sembra proprio come nel codice nativo. La maggior parte delle chiamate non richiede alcuna gestione speciale o la configurazione di ; non è richiesto alcun codice di avviamento o codice generato .

Leggi anche qui:

http://en.wikipedia.org/wiki/Java_Native_Interface

La Java Native Interface (JNI) è un framework di programmazione che permette di codice Java in esecuzione in una Java Virtual Machine (JVM) per chiama e chiama 1 per le applicazioni native (programmi specifici su una piattaforma hardware e del sistema operativo ) e le librerie wr itten in altri linguaggi, come C, C++ e assembly.

http://en.wikipedia.org/wiki/Java_Native_Access

Java Native Access fornisce Java programmi facile accesso ai nativi condivise librerie senza utilizzare la Java Native Interface . Il design di JNA mira a fornire un accesso nativo in modo naturale con il minimo sforzo. No codice boiler o codice colla generato è richiesto.

5

JNA è abbastanza bello. Sono solo un principiante e l'ho trovato molto facile. Funziona non solo per l'API Win32 ma per quasi tutte le altre DLL.

2

Jacob è abbastanza buono sul lato COM (ma è reale COM - come si scrive in C++ - se si ha familiarità con vera programmazione COM, quindi Jacob è un gioco da ragazzi per l'uso)

+0

Non cercare di pignoli, ma COM espone servizi attraverso un'interfaccia ** C **. – IInspectable

1

Un'altra opzione è WinRun4J. Ha uno strato di legame nativo che mira a essere compatibile con pinvoke.net (il formato di legame nativo utilizzato in dot net). Vedi examples per ulteriori informazioni. È un po 'presto, quindi YMMV.

(completa divulgazione: lavoro sul progetto).

Un'altra opzione è JFFI - utilizzata in jruby e jython per interagire con le librerie native.

Problemi correlati