Есть ли библиотека Java для доступа к собственному API Windows? Либо с COM, либо JNI.
Есть ли библиотека Java для доступа к собственному API Windows?
Ответ 1
Вы можете попробовать эти два, я видел успех с обоими.
http://jawinproject.sourceforge.net
Проект интеграции Java/Win32 (Jawin) является бесплатным открытым исходным кодом архитектура для взаимодействия между Java и компонентами через компонент Microsoft Component Модель (COM) или через Win32 Dynamic Библиотеки ссылок (DLL).
JNA обеспечивает легкий доступ к программам Java к родным общим библиотекам (DLL на Windows), не записывая ничего, кроме Java-код-нет JNI или собственный код обязательный. Эта функциональность сопоставим с Windows 'Platform/Invoke и Python. Доступ динамичен во время выполнения без генерации кода.
JNA позволяет вам напрямую звонить собственные функции с использованием естественной Java вызов метода. Java-вызов выглядит точно так же, как в собственном коде. Наиболее звонки не требуют специальной обработки или конфигурации; нет шаблона или генерируемый код.
Также читайте здесь:
http://en.wikipedia.org/wiki/Java_Native_Interface
Интерфейс Java Native (JNI) является среда программирования, которая позволяет Java код, запущенный на виртуальной машине Java (JVM) для вызова и для вызова 1собственные приложения (конкретные программы к аппаратной и операционной системе платформа) и библиотеки, написанные на другие языки, такие как C, С++ и сборка.
http://en.wikipedia.org/wiki/Java_Native_Access
Java Native Access предоставляет Java программы обеспечивают легкий доступ к библиотеки без использования Java Собственный интерфейс. Проект JNA направлен на обеспечивают естественный доступ естественным образом с минимальными усилиями. нет код шаблона или сгенерированного клея требуется.
Ответ 2
JNA довольно приятно. Я просто новичок, и мне было очень легко. Работает не только для Win32 API, но и практически для любой другой DLL.
Ответ 3
Jacob неплохо на стороне COM (но это настоящий COM - как вы пишете на С++ - если вы знакомы с true COM-программирование, тогда Jacob - это возможность для использования)
Ответ 4
JNIWrapper или ConfyJ от TeamDev.
Ответ 5
Еще одна опция WinRun4J. Он имеет собственный связующий слой, который должен быть совместим с pinvoke.net (собственный формат привязки, используемый в dot net). Подробнее см. примеры. Это немного раньше, чем YMMV.
(полное раскрытие: я работаю над проектом).
Еще один вариант JFFI - это используется в jruby и jython для взаимодействия с родными библиотеками.
Ответ 6
Отъезд Waffle