Форум программистов, компьютерный форум CyberForum.ru

Qt

Войти
Регистрация
Восстановить пароль
 
svadum
0 / 0 / 0
Регистрация: 04.06.2016
Сообщений: 24
#1

Трудности с выводом данных из реестра - C++ Qt

03.01.2017, 21:09. Просмотров 299. Ответов 9

Всем привет.
Такая проблема: я работаю с реестром через QSettings в Qt,
код:
C++ (Qt)
1
2
3
4
5
6
7
8
9
QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist",
                       QSettings::NativeFormat);
 
    QStringList allKeys = settings.allKeys();
 
    for(int i = 0; i < allKeys.size(); i++)
    {
        cout << settings.value(allKeys[i]).toString();
    }
но при выводе я получаю это(прикрепил фото):

хотя по логике в этом ключе должен быть список самых используемых программ
(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist)
который я и хочу вытащить, и вывести в свою форму.
HELP!
Миниатюры
Трудности с выводом данных из реестра  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2017, 21:09     Трудности с выводом данных из реестра
Посмотрите здесь:

есть трудности с записью текста в файл - C++ Qt
я в программировании полный делитант. пишу небольшую программку. оснва TableWidget. из обычного текстового файла считываю текст QFile...

QT для Visual Studio 2013 - трудности установки - C++ Qt
Доброго времени суток , столкнулся с проблемой при установке Qt. Загрузив версию для VS с официального сайта, я не смог запустить проект,...

Трудности динамического перевода константных строк в различных окнах - C++ Qt
Столкнулся с трудностью перевода приложения: если интерфейс главного окна перевести динамически достаточно просто, то с константными...

Трудности при сборке. Критический срок. Я на краю пропасти - C++ Qt
Добрый вечер. Завтра сдавать дипломные материалы в универе. Сам я не программист поэтому нару месяцев назад сел изучать С++ для...

Редактор реестра - C++ Qt
Здравствуйте. Нужно реализовать простой редактор реестра на c++ qt. Загвоздка в том, что я не знаю даже как вывести корень реестра, не...

Трудности с выводом данных из таблицы - PHP
Добрый день,требуется помощь в объяснении следующего вывода: p.s.скриншот таблицы прилагаю 0 приве name приве 1 0 na2 0 2 0 ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
svadum
0 / 0 / 0
Регистрация: 04.06.2016
Сообщений: 24
04.01.2017, 12:11  [ТС]     Трудности с выводом данных из реестра #2
или возможно есть другой вариант для решения моей проблемы (список самых используемых программ который я и хочу вытащить, и вывести в свою форму).
Буду благодарен за любые советы.

Добавлено через 14 часов 55 минут
Есть идеи, народ?
svadum
0 / 0 / 0
Регистрация: 04.06.2016
Сообщений: 24
04.01.2017, 13:59  [ТС]     Трудности с выводом данных из реестра #3
Всед доброго времени суток!
Работаю через QSettings, хочу достать топ программ Win и вывести в форму.

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 QTextStream cout(stdout);
 
    QSettings *set =
            new QSettings("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\UserAssist\\{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}",
                          QSettings::NativeFormat);
 
    QStringList list = set->allKeys();
    
    cout << list.size();
 
    for(int i = 0; i < list.size(); i++)
    {
        cout << set->value(list[i]).toString();
    }
только вот если хочу взять через set->value(list[i]).toString() значение реестра, получаем это(скрин 1 "c toString()"):

а если через просто out << list[i] << endl;(скрин 2 "без ->value и toString()), получаем уже что-то похожее на список программ (закодирован, конечно, в Rot13, но это не проблема я написал декодер) проблема в том, как об этом "вытянуть" топ или как из этого списка сделать топ, а для этого нужны значение полей countов ( количество запусков, время в фокусе программы и т.д.), но на данный момент я не понимаю, как это реализовать по другому.

И еще пример того почему я вообще думаю, што это все реально "достать" и сделать (скрин 3, программа UserAssist).
Возможно мне нужно использовать QSettings, а WinApi, или по другому подойти к проблеме, я пока в тупике.
Буду благодарен за любые советы или направление для размышлений, возможно примеры реализации.
Миниатюры
Трудности с выводом данных из реестра   Трудности с выводом данных из реестра   Трудности с выводом данных из реестра  

trdm
173 / 27 / 5
Регистрация: 29.01.2013
Сообщений: 166
04.01.2017, 14:18     Трудности с выводом данных из реестра #4
Гугл знает
Сам правда не пользуюсь.
Maxim Prishchepa
Эксперт С++
1920 / 1032 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
04.01.2017, 15:34     Трудности с выводом данных из реестра #5
Почитайте тут:
Вопрос - Ответ для новичков по Qt
и тут:
Вопрос - Ответ для новичков по Qt
возможно поможет
svadum
0 / 0 / 0
Регистрация: 04.06.2016
Сообщений: 24
04.01.2017, 17:37  [ТС]     Трудности с выводом данных из реестра #6
trdm,
этот вариант я уже пробовал.
путь данного ключа не подходит, наиболее употребительные программы находятся
(HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ UserAssist)
и по значениям этого ключа надо как-то сделать или вывести из него топ программ, хотя бы ты отображаемых в панели пуск
Maxim Prishchepa,
спасибо, Вам, но я пробовал изменить кодировку, по сути я перепробовал их все и понял, что проблема не в ней, а в возможно методе чтения или же ключе
есть идеи по поводу этого(надо как-то сделать или вывести из него топ программ, хотя бы ты отображаемых в панели пуск)?
просто уже 2 дня сижу, програма есть, интерфейс, функционал, только это осталось.
Maxim Prishchepa
Эксперт С++
1920 / 1032 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
04.01.2017, 17:58     Трудности с выводом данных из реестра #7
ну так гуглите, где в реестре находится нужная инфа и находится ли она там в принципе...

если мне склероз не изменяет, то инфа о панели пуск находится на ФС, а не в реестре..
svadum
0 / 0 / 0
Регистрация: 04.06.2016
Сообщений: 24
04.01.2017, 18:32  [ТС]     Трудности с выводом данных из реестра #8
Maxim Prishchepa,
Цитата Сообщение от rao Посмотреть сообщение
Для получения списка инсталлированного ПО читай ветвь реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Uninstall
(Как перечислить программные продукты, которые могут быть удалены с компьютера)
Список самых используемых программ храниться в ключе реестра:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
(Windows 7 – MFU (Most Frequent Used Programs))
а ФС, вы имеете в виду файловая система?
Да, я сначала тоже так думал, но на форуме дали наводку на реестр, гугл отвечал то же или давал силки на UserAssist, а она свою очередь использую ветку UserAssists, поэтому по логике должно быть в реестре, только пока кроме названий софта закодированных в Rot13 вытянуть что-то еще не получается.
Может кто имел опыт работы с таким или подобным?

Добавлено через 15 секунд
Maxim Prishchepa,
Цитата Сообщение от rao Посмотреть сообщение
Для получения списка инсталлированного ПО читай ветвь реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ Windows\CurrentVersion\Uninstall
(Как перечислить программные продукты, которые могут быть удалены с компьютера)
Список самых используемых программ храниться в ключе реестра:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
(Windows 7 – MFU (Most Frequent Used Programs))
а ФС, вы имеете в виду файловая система?
Да, я сначала тоже так думал, но на форуме дали наводку на реестр, гугл отвечал то же или давал силки на UserAssist, а она свою очередь использую ветку UserAssists, поэтому по логике должно быть в реестре, только пока кроме названий софта закодированных в Rot13 вытянуть что-то еще не получается.
Может кто имел опыт работы с таким или подобным?
Maxim Prishchepa
Эксперт С++
1920 / 1032 / 74
Регистрация: 29.03.2010
Сообщений: 3,167
05.01.2017, 11:37     Трудности с выводом данных из реестра #9
еще раз говорю, смотрите на файловой системе и не морочте голову:
для винды 8.1 путь: c:\ProgramData\Microsoft\Windows\Start Menu\Programs\
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.01.2017, 14:05     Трудности с выводом данных из реестра
Еще ссылки по теме:

Трудности с выводом большого количества данных - Delphi БД
Доброго времени суток ! Столкнулся с такой проблемой. Имеется база данных в access. В ней уже сделано много таблицы и забито много...

Трудности с выводом большого количества данных - MS Access
Доброго времени суток ! Столкнулся с такой проблемой. Имеется база данных в access. В ней уже сделано много таблицы и забито много...

Трудности с выводом bmp - C++ WinAPI
Здравствуйте. Не получается вывести картинку по клику на кнопку Собственно, как вывести это битмап я знаю, но у меня получается это...

Внезапно возникшие трудности с выводом товаров - WordPress
Приветствую всех форумчан! Возникла проблема с наполнением магазина товарами. До этого наполнялось все без проблем. После...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Wyn
Модератор
991 / 572 / 212
Регистрация: 14.01.2016
Сообщений: 1,893
Записей в блоге: 9
06.01.2017, 14:05     Трудности с выводом данных из реестра #10
Цитата Сообщение от svadum Посмотреть сообщение
Есть идеи, народ?
Если у вас всё правильно там читает, то есть мнение, что у вас проблемы с кодировкой. Не забывайте что по умолчанию QString думает что везде хранится utf-8, в то время как Windows может хранить свои данные в другой кодировке.
Yandex
Объявления
06.01.2017, 14:05     Трудности с выводом данных из реестра
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru