是否有 Java 库来访问本机 Windows API?

2022-09-01 23:09:32

是否有 Java 库来访问本机 Windows API?使用 COM 或 JNI。


答案 1

你可以试试这两个,我已经看到了两者的成功。

http://jawinproject.sourceforge.net

Java/Win32 集成项目 (Jawin) 是一个免费的开源架构,用于 Java 与通过 Microsoft 的组件对象模型 (COM) 或 Win32 动态链接库 (DLL) 公开的组件之间的互操作。

https://github.com/twall/jna/

JNA 为 Java 程序提供了对本机共享库(Windows 上的 DLL)的轻松访问,而无需编写任何 Java 代码 — 不需要 JNI 或本机代码。此功能可与Windows的平台/调用和Python的ctypes相媲美。访问在运行时是动态的,无需生成代码。

JNA 允许您使用自然 Java 方法调用直接调用本机函数。Java 调用看起来就像在本机代码中一样。大多数呼叫不需要特殊处理或配置;不需要样板或生成的代码。

另请阅读此处:

http://en.wikipedia.org/wiki/Java_Native_Interface

Java 本机接口 (JNI) 是一个编程框架,它允许在 Java 虚拟机 (JVM) 中运行的 Java 代码调用本机应用程序(特定于硬件和操作系统平台的程序)和用其他语言编写的库(如 C、C++和汇编程序)调用和调用1

http://en.wikipedia.org/wiki/Java_Native_Access

Java Native Access 使 Java 程序无需使用 Java Native Interface 即可轻松访问本机共享库。JNA的设计旨在以自然的方式以最小的工作量提供本机访问。不需要样板或生成的胶水代码。


答案 2

JNA相当不错。我只是一个初学者,我发现这很容易。不仅适用于Win32 API,还适用于几乎任何其他DLL。


推荐