Czy istnieje biblioteka Java, aby uzyskać dostęp do rodzimego interfejsu API systemu Windows? Albo z COM lub JNI.Czy istnieje biblioteka Java, aby uzyskać dostęp do rodzimego interfejsu API systemu Windows?
Odpowiedz
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).
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 .
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.
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)
JNIWrapper lub ConfyJ z od TeamDev.
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.
Wyjazd Waffle
- 1. Dostęp do rejestru systemu Windows
- 2. czy istnieje biblioteka systemów plików trybu użytkownika dla systemu Windows?
- 3. Czy istnieje klient Github dla systemu Windows
- 4. Czy istnieje biblioteka Java funkcji Unix?
- 5. Czy istnieje alternatywa dla interfejsu API systemu Windows FindFirstFile/FindNextFile, który nie szuka krótkich nazw plików?
- 6. Czy istnieje adnotacja? Jak działa biblioteka? (Java)
- 7. Czy istnieje biblioteka unrar dla systemu iOS?
- 8. Czy istnieje jakieś API w Javie, aby uzyskać dostęp do danych wikipedia?
- 9. Jak uzyskać dostęp do interfejsu API strony internetowej?
- 10. Uzyskaj folder Pulpit użytkownika za pomocą interfejsu API systemu Windows?
- 11. Jak programowo uzyskać dostęp do systemu plików urządzenia iOS podłączonego do pulpitu systemu Windows?
- 12. Jak uzyskać dostęp do rejestru zdarzeń systemu Windows kontenera Docker
- 13. Jak uzyskać dostęp do elementów menu kontekstowego powłoki systemu Windows?
- 14. Czy istnieje sposób, aby uzyskać wygląd i działanie systemu Windows 8 na komputerze stacjonarnym?
- 15. Jak utworzyć prosty formularz systemu Windows, aby uzyskać dostęp do bazy danych SQL Server?
- 16. Jak uzyskać wygląd rodzimego okna w programowaniu Java GUI?
- 17. Czy można fałszywe api konsoli systemu Windows?
- 18. Czy istnieje interfejs API umożliwiający dostęp do danych grupy Google?
- 19. Czy istnieje interfejs API czujnika Java SE?
- 20. Jak uwierzytelniania OAuth, aby uzyskać dostęp do API EWS
- 21. Czy istnieje jakaś biblioteka ActiveResource dla Java?
- 22. Czy istnieje biblioteka klienta MS-DRM dla systemu Linux?
- 23. Jak uzyskać dostęp do informacji w Menedżerze urządzeń systemu Windows z poziomu Java?
- 24. Czy mogę uzyskać dostęp do IIdentity z Web API
- 25. Jak uzyskać dostęp do map Google API w aplikacji Java?
- 26. Czy istnieje biblioteka Java do analizowania łańcuchów formatu printf?
- 27. Czy istnieje interfejs API pod KVM, aby uzyskać identyfikator strefy?
- 28. Jak uzyskać dostęp do systemu plików z EJB 3?
- 29. Czy istnieje wywołanie interfejsu API, aby monitować użytkownika o podniesienie UAC?
- 30. Użyj interfejsu Windows API z C#, aby ustawić monitor główny
Nie stara się przyczepić, ale COM uwidacznia usługi poprzez ** C ** interfejsu. – IInspectable