【问题标题】:How to use the WinInet API from Java?如何从 Java 中使用 WinInet API?
【发布时间】:2011-05-17 00:22:41
【问题描述】:

根据this answer 我之前的问题,WinInet Windows API 是在 Windows 中读取和写入 Internet 连接设置的正确方法。我如何从 Java 中使用这个 API?我更喜欢免费的开源解决方案。

【问题讨论】:

    标签: java proxy settings wininet internet-connection


    【解决方案1】:

    总有 JNI 和 JNA,但如果您还不了解 C 或 C++,则需要学习曲线,尤其是 JNI:JNI ReferenceJNA Site

    【讨论】:

      【解决方案2】:

      在过去的几个月里,我不得不在我的 Java 项目中混合使用一些 C、C++ 和 Win32 替代方案来进行本机访问。经过与 JNA 以及最近与 JInvoke 进行此类集成的大量工作后,我可以告诉您 JInvoke 比 JNA 稍微成熟一些。即使 JInvoke 比 JNA 更老,我发现它的语法更简洁。很抱歉那些喜欢 JNA 但使用 JInvoke 的人我可以从 Java 中直接挂钩 windows api。

      【讨论】:

      • 注意JInvoke已经停产很久了,不知道具体多久了,但即便如此,它还是一个很好的原生访问钩子工具。其他不错的选择是 Python,它具有强大的 win32 api 以及通过 Jython 与 java 代码混合或从 java 代码混合的能力。
      【解决方案3】:

      我看到有一个名为 JInvoke 的商业图书馆:

      使 Java 开发人员能够轻松 调用本机方法(例如 Win32 API 或基于 C 的 Windows DLL 和 Unix 动态库)与纯 Java 代码。

      不过,我更喜欢免费且专门针对 WinInet API 的东西。

      【讨论】:

      • 不要回答自己的问题。编辑原件,或对其发表评论。
      • 来自常见问题解答:“提出并回答您自己的问题也很好”。我同意澄清等不应采取答案的形式。
      【解决方案4】:

      看看 JACOB 项目

      JACOB 是一个 JAVA-COM 桥,它允许 你调用 COM 自动化组件 来自爪哇。它使用 JNI 制作原生 调用 COM 库。雅各布运行 在 x86 和 x64 环境上支持 32 位和 64 位 JVM

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

      【讨论】:

        猜你喜欢
        • 2010-12-21
        • 2017-06-01
        • 1970-01-01
        • 2012-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-17
        • 1970-01-01
        相关资源
        最近更新 更多