Russian Qt Forum
Ноябрь 24, 2024, 23:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Чтение строки из реестра  (Прочитано 4188 раз)
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.
Подскажите, в чём тут может быть проблема?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Февраль 28, 2012, 21:17 »

может именно из-за того, что там строка, а не булевое значение, и возвращается фолс (как дефолтное значение)? попробуй
Код
C++ (Qt)
bSettings.value("HKEY_CLASSES_ROOT\\Applications\\isoburn.exe\\FriendlyAppName").toString().isEmpty()
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
AlphaGh0St
Гость
« Ответ #2 : Февраль 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 в противном случае.
Спасибо за помощь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.146 секунд. Запросов: 22.