我目前正在尝试通过Java应用程序查询和设置一些Windows注册表项.我们被授权使用JNI-Registry库(出于许可的原因).要设置的键和值不在我的控制之下(我正在修改由另一个,第三方,应用程序设置的值).
我可以获取并设置正常键和值的各种条目和值,我可以查询键的默认值OK.但是,我需要知道如何设置密钥的默认值.
//This works
final RegistryKey regKey = Registry.HKEY_LOCAL_MACHINE.openSubKey("SOFTWARE\\company\\app\\subkey", RegistryKey.ACCESS_ALL);
RegStringValue blah = (RegStringValue) regKey.getValue("blah");
if (blah == null) {
blah = new RegStringValue(regKey, "blah");
}
blah.setData("Some data");
regKey.setValue(blah);
//Not sure about this...
final RegistryKey regKey = Registry.HKEY_LOCAL_MACHINE.openSubKey("SOFTWARE\\company\\app\\subkey", RegistryKey.ACCESS_ALL);
String defaultValue = regKey.getDefaultValue(); //Gets the default value OK
//How do I reset it, though???
//need something like:
// regKey.setDefaultValue("Some new value");
//The following does not seem to work
RegDWordValue defVal = (RegDWordValue) regKey.getValue(""); //Also tried ...getValue("Default")
defVal.setData("Some new Value");
regKey.setValue(defVal);
regKey.closeKey();
Run Code Online (Sandbox Code Playgroud)
有谁知道这是否可能?
是的,它可能.
好吧,在c#中,对于任何键,你都可以
key.SetValue("", "value");
Run Code Online (Sandbox Code Playgroud)
无名密钥是默认密钥.
这在以下网址有记录:http://msdn.microsoft.com/en-us/library/microsoft.win32.registry.setvalue.aspx
有点儿,我知道.仍然,希望它可以帮助某人.我在寻找同样的事情.
| 归档时间: |
|
| 查看次数: |
2642 次 |
| 最近记录: |