我想知道是否可以在Java代码中访问Win32_OperatingSystem类,我看过VB或C#的示例,但我还没有看到Java中的任何示例
这是可能的,但在 Java 中并不像在其他语言中那么容易。
一些语言的标准库中包含所谓的 FFI(外部函数接口)。例如,在 Python 中,您有 ctypes/cdll 模块。使用它,您可以打开任何DLL并调用任何函数。你不需要写任何C代码,你只需要写一些Python,就足够了。
在Java中,传统的方法是通过JNI(Java Native Interface)。但情况要复杂得多。为了保持简短,您必须:
一些第三方库试图简化这个复杂的过程,使其像 Python 和其他拥有良好 FFI 库的语言一样简单。例如,JNA(Java 本机访问)。但它并没有包含在Java的标准库中。
Java 语言实现者都知道 JNI 陈旧、缓慢且复杂。一个新的库正在开发中,并可作为最新版本的 Java 中的预览功能使用。一旦完全稳定,它最终将被包含在标准库中,但目前情况并非如此。您必须等待,或者尝试使用实验性功能,这些功能可能会在最终版本发布之前发生变化。
所以你对整个故事有了一个大致的了解。
现在,特别是对于 win32,可能已经有可用的 JNI 包装器。你应该搜索一下。