Проблема с JNIRegistry - PullRequest
       4

Проблема с JNIRegistry

0 голосов
/ 04 августа 2010

Я использую JNI Registry API для доступа к реестру Windows. Вот мой код:

import com.ice.jni.registry.Registry;
import com.ice.jni.registry.RegistryException;
import com.ice.jni.registry.RegistryKey;
import com.ice.jni.registry.RegistryValue;

public class JNIRegistryExample {

    public static void main(String[] args) {
        RegistryKey regkey = Registry.HKEY_LOCAL_MACHINE;
        RegistryKey key =Registry.openSubkey(regkey,"SOFTWARE\\SMS\\DHC",RegistryKey.ACCESS_READ);  
        System.out.println(key.getFullName());
    try {
        RegistryValue value = key.getValue("ProntoPort");
        String x = new String(value.getByteData());
        System.out.println(x);
        }
        catch(RegistryException ex) {
            ex.printStackTrace();
        }
    }
}

Этот код отлично работает для некоторых ключей реестра, но не для других. Например, это хорошо работает с HKLM \ SOFTWARE \ MICROSOFT \ WINDOWS \ CurrentVersion \ ProgramFilesDir, но для многих других это не так. (Пример в коде не работает, и я на 100% уверен, что он существует в реестре, я могу проверить это с помощью команды reg).

Любой

Большое спасибо!

1 Ответ

0 голосов
/ 31 августа 2010

Попробуйте это ....

Registry reg = new Registry();
RegistryKey topKey = Registry.HKEY_CURRENT_USER;
RegistryKey rk = topKey.openSubKey("Software\\Sparx Systems\\EA400\\EA");
String path = rk.getStringValue("Install Path");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...