Là một nhà phát triển dày dạn trong Java/Linux nhưng ngu dốt trong Windows, đây là kinh nghiệm của tôi (tháng 8 năm 2015) ...
Tóm tắt:
- Go với com4j ... với sự báo trước rằng:
- Bạn có thể cần phải xây dựng (chưa được phát hành) mã mới nhất để có được một số f quan trọng gần đây ixes.
câu chuyện dài:
Lúc đầu, xu hướng cho mã liên quan đến JNI để sụp đổ hiểu sao khiến tôi tìm kiếm một giải pháp phi JNI. J-Interop dường như phù hợp với hóa đơn.
Tuy nhiên, như tôi đã cố gắng để có được j-interop để làm việc, tất cả các điều khoản Windows DCOM và đăng ký crap làm cho nó một tổng PITA. Đó là khác nhau cho các phiên bản khác nhau của Windows, yêu cầu thay đổi phải được thực hiện như quản trị viên, vv Tôi không hiểu bất kỳ crap Windows này và nó làm cho tôi muốn nôn mửa anyway.
Sau đó tôi đã thử com4j và nó hoạt động như một nhà vô địch. Dự án này được thiết kế rất độc đáo. Nó tự động tạo ra các giao diện Java từ các DLL mà bạn đang sử dụng. COM chi tiết quy ước gọi được khai báo bằng cách sử dụng chú thích Java trên các phương thức giao diện, cho phép bạn tinh chỉnh những điều này nếu cần thiết (không cần chỉnh sửa trong trường hợp của tôi).
Có một số nhà phát triển trên github đã phân chia dự án và đóng góp các bản sửa lỗi, đây là dấu hiệu lành mạnh.
Thông báo trước duy nhất là bạn có thể yêu cầu một số bản sửa lỗi gần đây, vào tháng 8 năm 2015, được hợp nhất vào dự án nhưng không có trong bản phát hành mới nhất (bắt đầu từ tháng 3 năm 2014).
Vì vậy, bạn có thể cần tự xây dựng tùy chỉnh, bao gồm xây dựng DLL trong Visual Studio, v.v. Ngay cả khi Windows hater/ignorant, tôi đã có thể thực hiện việc này.
JACOB chỉ hỗ trợ giao diện công văn; nó không thể làm ràng buộc vtable. –