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

Visual C++

Войти
Регистрация
Восстановить пароль
 
4iNo
22 / 22 / 1
Регистрация: 02.04.2009
Сообщений: 205
#1

Вывод реестра на консоль - Visual C++

04.12.2009, 14:09. Просмотров 1082. Ответов 2
Метки нет (Все метки)

Как с помощью языка С++ или же WinAPI вывесты ветви реестра и их содержимое на консоль?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2009, 14:09     Вывод реестра на консоль
Посмотрите здесь:

Как изменить имя ключа реестра??? Visual C++
Исследование, использование реестра для передачи информации между приложениями Visual C++
Visual C++ Подскажите пожалуста через какой компонент можно организовать доступ до веток реестра
Visual C++ Копирование реестра.
Visual C++ CString в консоль
Visual C++ Вывести значение ключа реестра на экран.
Visual C++ Как удалить ветку Реестра в VisualC++7.0?
Visual C++ Непонятный ключ системного реестра
Visual C++ Чтение из Excel и вывод данных в консоль
Visual C++ БД Разработка программы работы с ключами реестра
Работа с ключами реестра: Создание, чтение, запись Visual C++
Visual C++ RegQueryValueEx не выдаёт инфу о ключе реестра

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
8280 / 3499 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
04.12.2009, 20:01     Вывод реестра на консоль #2
Выводит все из ветки HKEY_CURRENT_USER\Software
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <Windows.h>
 
void Out(TCHAR buf[])
{
    for(int i = 0; i < MAX_PATH; ++i)
        if(buf[i] < 256 && buf[i] > 0)
        {
            std::cout<<(char)buf[i];
            buf[i] = 0;
        }
    std::cout<<std::endl;
}
int main()
{
    setlocale(LC_ALL, "Russian");
    TCHAR szBuff[MAX_PATH];
    DWORD dwBSize = MAX_PATH, dwIndex = 0;
    HKEY    hKey;
    LONG    lResult(0);
    FILETIME ft;
    if(!(RegOpenKeyEx(HKEY_CURRENT_USER, L"software", 0, KEY_ENUMERATE_SUB_KEYS, &hKey)))
    {
        while(!lResult)
            if(!(lResult = RegEnumKeyEx(hKey, dwIndex, szBuff, &dwBSize, 0, 0, 0, &ft)))
            {
                dwIndex++;
                dwBSize = MAX_PATH;
                Out(szBuff);
            }
    }
    system("pause");
    return 0;
}
Kant
32 / 32 / 9
Регистрация: 15.05.2013
Сообщений: 229
31.12.2016, 00:17     Вывод реестра на консоль #3
M128K145, как вывести все значения и имена Key Value для ветки HKEY_LOCAL_MACHINE ?

У меня уже есть наработки, но вылетает RegEnumValueA с ошибкой ERROR_MORE_DATA хотя не задаю даже
буфер для записи.
C++
1
2
3
4
5
static const int MAX_VALUE_NAME = 16383;
 
    DWORD lenFileName = MAX_VALUE_NAME;
    char  fileName[lenFileName] = {'\0'};
    LONG errorValue = RegEnumValueA(hKey, i, fileName, &lenFileName, NULL, NULL, NULL, NULL);
Добавлено через 8 часов 59 минут
Нашел ошибку у себя в коде. В приведенном мной коде все хорошо.
Yandex
Объявления
31.12.2016, 00:17     Вывод реестра на консоль
Ответ Создать тему
Опции темы

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