Có thư viện Java nào để truy cập API Windows gốc không? Hoặc là với COM hoặc JNI.Có thư viện Java nào để truy cập API Windows gốc không?
Trả lời
Bạn có thể thử hai điều này, tôi đã thấy thành công với cả hai.
http://jawinproject.sourceforge.net
Dự án tích hợp Java/Win32 (Jawin) được miễn phí, mã nguồn mở kiến trúc cho interoperation giữa Java và các thành phần tiếp xúc qua của Microsoft Component Object Model (COM) hoặc thông qua Win32 Dynamic Liên kết Thư viện (DLL).
JNA cung cấp các chương trình Java dễ dàng truy cập đến các thư viện chia sẻ nguồn gốc (DLL trên Windows) mà không cần viết bất cứ điều gì nhưng mã không Java JNI hoặc mã gốc là yêu cầu. Chức năng này là có thể so sánh với Nền tảng của Windows/Gọi và các dòng ctype của Python. Truy cập động là khi chạy mà không cần tạo mã.
JNA cho phép bạn gọi trực tiếp vào các hàm gốc bằng cách sử dụng lời gọi phương thức Java tự nhiên. Cuộc gọi Java trông giống như giống như trong mã gốc. Hầu hết các cuộc gọi không yêu cầu xử lý đặc biệt hoặc cấu hình ; không có bản mẫu hoặc mã được tạo.
Cũng đọc lên ở đây:
http://en.wikipedia.org/wiki/Java_Native_Interface
Java Native Interface (JNI) là một khuôn khổ lập trình cho phép Java mã chạy trong một Java Virtual Machine (JVM) để gọi và được gọi là 1 bởi ứng dụng gốc (chương trình cụ thể tới phần cứng và hệ điều hành nền tảng) và thư viện wr itten in các ngôn ngữ khác, chẳng hạn như C, C++ và lắp ráp.
http://en.wikipedia.org/wiki/Java_Native_Access
Java Native Access cung cấp các chương trình Java dễ dàng tiếp cận với nguồn gốc chia sẻ thư viện mà không sử dụng Java Native Interface. Thiết kế của JNA nhằm mục đích cung cấp quyền truy cập tự nhiên theo cách tự nhiên với nỗ lực tối thiểu. Không boilerplate hoặc mã keo được tạo ra là bắt buộc.
JNA là khá hay. Tôi chỉ là người mới bắt đầu và tôi thấy nó rất dễ dàng. Hoạt động không chỉ cho API Win32 mà còn cho hầu hết các DLL khác.
Jacob khá tốt ở phía COM (nhưng nó thực COM - như bạn viết trong C++ - nếu bạn đã quen thuộc với lập trình COM đúng, thì Gia-cốp là một snap để sử dụng)
JNIWrapper hoặc ConfyJ từ từ TeamDev.
Một tùy chọn khác là WinRun4J. Nó có một lớp ràng buộc bản địa nhằm mục đích tương thích với pinvoke.net (định dạng liên kết gốc được sử dụng trong chấm chấm). Xem examples để biết thêm thông tin. Một vài ngày đầu của nó nên YMMV.
(tiết lộ đầy đủ: tôi làm việc trên dự án).
Một tùy chọn khác là JFFI - điều này được sử dụng trong jruby và jython để tương tác với thư viện gốc.
Kiểm tra Waffle
- 1. Có một api java để truy cập bugzilla không?
- 2. thư viện gốc trong java
- 3. Có thư viện hoặc khung công tác Java để truy cập các cổng nối tiếp không?
- 4. Sự khác biệt giữa thư viện và thư viện gốc
- 5. Thư viện Java nào có thể được sử dụng để truy cập dữ liệu qua WebDAV?
- 6. Thư viện khách truy cập đồ thị đối tượng Java
- 7. Thư viện Java Java
- 8. Async đang chờ trong API truy cập web Windows Phone
- 9. Facebook: Thư viện java API đồ thị
- 10. Truy cập iPhone từ Windows
- 11. Truy cập ViewContext từ thư viện lớp
- 12. Truy cập thư viện nhạc trên iPhone
- 13. DNS nào có quyền truy cập API?
- 14. Có AnnotationUtils của Commons như thư viện không? (Java)
- 15. Chia sẻ thư viện gốc trên hai ứng dụng
- 16. API gốc Apache Shiro và Java EE
- 17. Tôi có thể truy cập API ImageMagick bằng Python không?
- 18. Có thư viện mạng Java tốt không?
- 19. Để truy cập API hoặc không
- 20. API/Thư viện để thay thế signtool.exe
- 21. Có thư viện Java cho steganography không?
- 22. Cách truy cập API thư mục trong SDK quản trị
- 23. iPhone/iPad itunes đọc thư viện truy cập?
- 24. Truy cập Windows Registry
- 25. Làm cách nào để Ruby tìm một thư viện gốc?
- 26. Có API nào trong Java để truy cập dữ liệu wikipedia
- 27. truy cập tài liệu thư viện chuẩn ruby cục bộ
- 28. SVN thư viện java
- 29. API plugin và API thư viện lớp
- 30. Có thư viện nào để biểu diễn các truy vấn SQL như các đối tượng trong mã Java không?
Không cố gắng nitpick, nhưng COM hiển thị dịch vụ thông qua giao diện ** C **. – IInspectable