可能是重复问题:
使用Java读写Windows注册表
我需要从Java访问Windows注册表。此外,我需要复制一些注册表条目,并可能需要使用Java输入新的注册表变量。请有人帮帮我...
可能是重复问题:
使用Java读写Windows注册表
我需要从Java访问Windows注册表。此外,我需要复制一些注册表条目,并可能需要使用Java输入新的注册表变量。请有人帮帮我...
import com.ice.jni.registry.*;
public class DeleteEnvironmentVar{
public DeleteEnvironmentVar(String variable, String value) throws Exception {
RegistryKey machine = Registry.getTopLevelKey("HKEY_LOCAL_MACHINE");
RegistryKey environment = machine.openSubKey("SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment", RegistryKey.ACCESS_WRITE);
try {
if ( value == null ) { //Delete the variable in case value is empty
environment.deleteValue(variable);
}
}
catch( NoSuchValueException nsve ) {}
catch( NoSuchKeyException nske ) {}
}
}
Preferences 类是 Java 写入注册表的首选方式。然而,我实际上没有使用过它,所以我不知道它是否允许访问整个注册表还是只能访问特定于 JVM 或您的应用程序的部分。如果不行,那么听起来你需要查看其他人在此提出的 JNI 解决方案。如果可以工作,那么您就有了一种平台无关的方法来存储设置,以便在将来进行移植。