Как использовать WinInet API из Java?

Согласно этому ответу на мой предыдущий вопрос: WinInet Windows API - это правильный способ чтения и записи настроек подключения к Интернету в Windows. Как я могу использовать этот API из Java? Я бы предпочел бесплатное решение с открытым исходным кодом.


person Andrew Swan    schedule 28.11.2010    source источник


Ответы (4)


Всегда есть JNI и JNA, но если вы еще не знакомы с C или C ++, вам придется обучиться, особенно с JNI: Справочник JNI, Сайт JNA

person Hovercraft Full Of Eels    schedule 28.11.2010

В последние месяцы мне пришлось смешивать с моим проектом Java некоторые альтернативы C, C ++ и Win32 для нативного доступа. После долгой работы с JNA и недавно с JInvoke для такой интеграции я могу сказать вам, что JInvoke немного более зрелый, чем JNA. Даже если JInvoke старше JNA, я нашел его синтаксис более лаконичным и простым. Извините тех, кто любит JNA, но с помощью JInvoke я мог буквально зацепить windows api из Java.

person David Archanjo    schedule 23.08.2013
comment
Обратите внимание, что JInvoke уже давно прекращен, я точно не знаю, как долго, но даже в этом случае это хороший инструмент для перехвата нативного доступа. Другой хорошей альтернативой может быть Python, который имеет мощный Win32 api, а также возможность смешивания с Java-кодом или из него через Jython. - person David Archanjo; 23.08.2013

Я вижу, что есть коммерческая библиотека под названием JInvoke, которая:

позволяет разработчикам Java легко вызывать собственные методы (такие как Win32 API или библиотеки DLL Windows на основе C и динамические библиотеки Unix) с чистым кодом Java.

Однако я бы предпочел что-то бесплатное и специально предназначенное для WinInet API.

person Andrew Swan    schedule 28.11.2010
comment
Не отвечайте на свой вопрос. Отредактируйте оригинал или прокомментируйте его. - person user207421; 29.11.2010
comment
Из FAQ: Вы также можете задать свой вопрос и ответить на него. Я согласен с тем, что разъяснения и т. Д. Не должны принимать форму ответов. - person Andrew Swan; 29.11.2010

Взгляните на проект JACOB

JACOB - это мост JAVA-COM, который позволяет вызывать компоненты автоматизации COM из Java. Он использует JNI для собственных вызовов библиотек COM. JACOB работает в средах x86 и x64 с поддержкой 32- и 64-разрядных JVM.

http://sourceforge.net/projects/jacob-project/

person Favonius    schedule 29.11.2010