2009-03-03 18 views

Respuesta

19

Puede probar estos dos, he visto el éxito con ambos.

http://jawinproject.sourceforge.net

El proyecto de integración de Java/Win32 (Jawin) es un país libre, de código abierto arquitectura para la interoperación entre Java y componentes expuestos a través de objetos componentes Modelo de Microsoft (COM) oa través de Win32 Dinámico Bibliotecas de enlace (DLL).

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

JNA ofrece programas Java fácil acceso a bibliotecas compartidas nativas (DLL) en de Windows sin escribir nada, pero código Java sin JNI o ​​código nativo es requerido. Esta funcionalidad es comparable a la Plataforma/Invocación de Windows y los tipos de Python. El acceso es dinámico en tiempo de ejecución sin generación de código.

JNA le permite llamar directamente a funciones nativas mediante la invocación natural del método Java . La llamada de Java se ve como como en el código nativo. La mayoría de las llamadas al no requieren un manejo especial o la configuración ; no se requiere un código repetitivo o código generado.

también leer hasta aquí:

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

El Java Native Interface (JNI) es un marco de programación que permite Java código que se ejecuta en una máquina virtual de Java (JVM) a llamar y ser llamado 1 por aplicaciones nativas (programas específicos a un hardware y sistema operativo plataforma) y bibliotecas wr itten en otros idiomas, como el ensamblaje C, C++ y .

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

Java Native Access proporciona Java programas de fácil acceso a bibliotecas compartidas nativas sin usar la interfaz nativa de Java . El diseño de JNA apunta a proporcionar acceso nativo de forma natural con un mínimo de esfuerzo. No texto estándar o código de pegamento generado es requerido.

5

JNA es bastante agradable. Solo soy un principiante y lo encontré muy fácil. Funciona no solo para la API de Win32 sino para casi cualquier otra DLL.

2

Jacob es bastante bueno en el lado COM (pero es verdadera COM - como se escribe en C++ - si está familiarizado con la verdadera programación COM, a continuación, Jacob es muy fácil de usar)

+0

No tratando de ser quisquilloso, pero COM expone a los servicios a través de una interfaz ** C **. – IInspectable

1

Una opción más es WinRun4J. Tiene una capa de enlace nativa que pretende ser compatible con pinvoke.net (el formato de enlace nativo utilizado en dot net). Consulte examples para obtener más información. Es un poco temprano por lo que YMMV.

(descripción completa: trabajo en el proyecto).

Otra opción es JFFI - esto se usa en jruby y jython para interactuar con librerías nativas.

Cuestiones relacionadas