Кто-нибудь знает, как установить значение реестра по умолчанию для ключа с помощью JNI-Registry (com.ice.jni.registry)? - PullRequest
1 голос
/ 03 марта 2010

В настоящее время я пытаюсь запросить и настроить некоторые записи реестра Windows через приложение Java. Нам поручено использовать библиотеку JNI-Registry (по причинам лицензирования). Ключи и значения для установки не находятся под моим контролем (я изменяю значения, установленные другим сторонним приложением).

Я могу получить и установить различные записи и значения OK для обычных ключей и значений, и я могу запросить значение по умолчанию для ключа 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();

Кто-нибудь знает, возможно ли это?

1 Ответ

5 голосов
/ 23 сентября 2010

Да, это возможно.

Ну, в c # для любой клавиши вы можете сделать

key.SetValue("", "value");

Безымянный ключ является ключом по умолчанию.

Это задокументировано по адресу: http://msdn.microsoft.com/en-us/library/microsoft.win32.registry.setvalue.aspx

Вроде поздно, я знаю. все-таки надеюсь, это кому-нибудь поможет. Я искал то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...