是否可以用 java 操纵操作系统 (Windows)?
Is it possible to manipulate the operating system (Windows) with java?
可以用java操纵操作系统吗?我想构建一个程序,通过在 windows 注册表中创建键来操纵操作系统,观察硬件的行为(如任务管理器)
一般来说,Java它不是一种用于低级任务的语言。
因此,您可以使用 native 关键字和 Java Native Interface 在本机实现某些方法(使用 C) (JNI)。
但是,Java API 很大,所以你应该看看官方文档。
您应该改用 Rust。
是的,可以调用本机代码来执行来自 Java 的 OS 特定调用 - 例如操作 Windows 注册表。你应该看看 JNI - 比如这个 tutorial, or if you use JDK16 or JDK17 you might have a look at the incubating JDK Panama - Foreign Memory API.
但是请注意,巴拿马 API 可能会在正式纳入 JDK 时(/无论何时)发生变化。此外,JDK17 版本与 JDK16 不同,使 Panama 如此易于使用的工具支持 - jextract
- 未随 JDK16 或 JDK17,您可能想查看最新的巴拿马抢先体验版本。这个答案有使用 .
的本机调用示例
可以用java操纵操作系统吗?我想构建一个程序,通过在 windows 注册表中创建键来操纵操作系统,观察硬件的行为(如任务管理器)
一般来说,Java它不是一种用于低级任务的语言。 因此,您可以使用 native 关键字和 Java Native Interface 在本机实现某些方法(使用 C) (JNI)。 但是,Java API 很大,所以你应该看看官方文档。 您应该改用 Rust。
是的,可以调用本机代码来执行来自 Java 的 OS 特定调用 - 例如操作 Windows 注册表。你应该看看 JNI - 比如这个 tutorial, or if you use JDK16 or JDK17 you might have a look at the incubating JDK Panama - Foreign Memory API.
但是请注意,巴拿马 API 可能会在正式纳入 JDK 时(/无论何时)发生变化。此外,JDK17 版本与 JDK16 不同,使 Panama 如此易于使用的工具支持 - jextract
- 未随 JDK16 或 JDK17,您可能想查看最新的巴拿马抢先体验版本。这个答案有使用