Russian Qt Forum

Qt => Общие вопросы => Тема начата: AlphaGh0St от Февраль 28, 2012, 20:19



Название: Чтение строки из реестра
Отправлено: AlphaGh0St от Февраль 28, 2012, 20:19
Всем привет!
Необходимо считать строку из реестра, а если проще - то проверить существование ключа.

Использую класс QSettings:
bool pathInReg = bSettings.value("HKEY_CLASSES_ROOT\\Applications\\isoburn.exe\\FriendlyAppName", false).toBool();
qDebug()  << pathInReg;

Такой путь есть, такой ключ есть, ключ содержит строку. По идее должно возвращаться значение true, но отладчик показывает false.

ОС Windows 7.
Подскажите, в чём тут может быть проблема?


Название: Re: Чтение строки из реестра
Отправлено: kambala от Февраль 28, 2012, 21:17
может именно из-за того, что там строка, а не булевое значение, и возвращается фолс (как дефолтное значение)? попробуй
Код
C++ (Qt)
bSettings.value("HKEY_CLASSES_ROOT\\Applications\\isoburn.exe\\FriendlyAppName").toString().isEmpty()


Название: Re: Чтение строки из реестра
Отправлено: AlphaGh0St от Февраль 28, 2012, 21:32
Возвращает true, мол строка пуста...
Нашёл вот такое решение:
Код:
    QSettings settings("HKEY_CLASSES_ROOT\\Applications\\isoburn.exe", QSettings::NativeFormat);
    bool result = settings.value("FriendlyAppName", false).toBool();
    qDebug() << "PATH: " << result;
Такой код работает, возвращает true, если ключ существует, и false в противном случае.
Спасибо за помощь.