Согласно этому ответу на мой предыдущий вопрос: WinInet Windows API - это правильный способ чтения и записи настроек подключения к Интернету в Windows. Как я могу использовать этот API из Java? Я бы предпочел бесплатное решение с открытым исходным кодом.
Как использовать WinInet API из Java?
Ответы (4)
Всегда есть JNI и JNA, но если вы еще не знакомы с C или C ++, вам придется обучиться, особенно с JNI: Справочник JNI, Сайт JNA
В последние месяцы мне пришлось смешивать с моим проектом Java некоторые альтернативы C, C ++ и Win32 для нативного доступа. После долгой работы с JNA и недавно с JInvoke для такой интеграции я могу сказать вам, что JInvoke немного более зрелый, чем JNA. Даже если JInvoke старше JNA, я нашел его синтаксис более лаконичным и простым. Извините тех, кто любит JNA, но с помощью JInvoke я мог буквально зацепить windows api из Java.
Я вижу, что есть коммерческая библиотека под названием JInvoke, которая:
позволяет разработчикам Java легко вызывать собственные методы (такие как Win32 API или библиотеки DLL Windows на основе C и динамические библиотеки Unix) с чистым кодом Java.
Однако я бы предпочел что-то бесплатное и специально предназначенное для WinInet API.
Взгляните на проект JACOB
JACOB - это мост JAVA-COM, который позволяет вызывать компоненты автоматизации COM из Java. Он использует JNI для собственных вызовов библиотек COM. JACOB работает в средах x86 и x64 с поддержкой 32- и 64-разрядных JVM.
http://sourceforge.net/projects/jacob-project/