2009-03-03 10 views

Odpowiedz

19

Możesz spróbować tych dwóch, widziałem sukces z obiema.

http://jawinproject.sourceforge.net

Projekt integracji Java/Win32 (Jawin) to darmowy, open source architektura współdziałania między Java i elementów narażonych przez Microsoft Component Object Model (COM) lub poprzez Win32 Dynamiczne Biblioteki odnośników (DLL).

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

JNA zapewnia łatwy dostęp do programów Java do natywnych bibliotek dzielonych (DLL na Windows) bez pisania czegokolwiek, ale kodu Java nie JNI lub natywny kod jest wymagane. Ta funkcja jest zgodna z platformą Windows/Invoke i ctypami Pythona. Dostęp jest dynamiczny w czasie wykonywania bez generowania kodu.

JNA umożliwia bezpośrednie wywoływanie funkcji macierzystych przy użyciu naturalnego wywołania metody Java . Wywołanie Java wygląda tak jak w natywnym kodzie pod numerem . Większość wywołań nie wymaga specjalnej obsługi ani konfiguracji ; nie jest wymagany wygenerowany kod z płyty głównej ani z generatora .

przeczytać także tutaj:

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

Java Native Interface (JNI) stanowi ramy programowania który pozwala Java kod uruchomiony w Java Virtual Machine (JVM) do zadzwonić pod numer 1 przez aplikacje natywne (specyficzne programy na platformę sprzętową i system operacyjny ) i biblioteki wr itten w innych językach, takich jak C, C++ i .

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

Java Native dostęp zapewnia Java programy łatwy dostęp do natywnych bibliotek współdzielonych bez użycia Java Native Interface. Projekt JNA ma na celu zapewnienie natywnego dostępu w naturalny sposób przy minimalnym wysiłku. Nie jest wymagana żadna tabliczka znamionowa ani wygenerowany kod kleju .

5

JNA jest całkiem niezły. Jestem dopiero początkującym i uznałem to za bardzo łatwe. Działa nie tylko dla Win32 API, ale prawie dla każdej innej biblioteki DLL.

2

Jacob jest dość dobry na stronie COM (ale to prawdziwy COM - jak piszesz w C++ - jeśli jesteś zaznajomiony z prawdziwego programowania COM, następnie Jacob jest bardzo proste w użyciu)

+0

Nie stara się przyczepić, ale COM uwidacznia usługi poprzez ** C ** interfejsu. – IInspectable

1

Jeszcze jedna opcja jest WinRun4J. Ma natywną warstwę wiążącą, która ma być kompatybilna z pinvoke.net (natywnym formatem bindowania używanym w dot net). Aby uzyskać więcej informacji, patrz examples. To trochę wczesne dni, więc YMMV.

(pełne ujawnienie: Pracuję nad projektem).

Jeszcze innym rozwiązaniem jest JFFI - ten jest wykorzystywany w jruby i Jython do interakcji z bibliotekami rodzimych.

Powiązane problemy