powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чтение данных из реестра
4 сообщений из 4, страница 1 из 1
Чтение данных из реестра
    #33669235
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HKEY m_hKey,m_hPtrOpenedKey,m_hPtrOpenedSubKey, m_hLink;
LPCTSTR m_hSubKey, m_hTest;
LONG m_lStat;
ULONG m_ulRes;
TCHAR m_cSubKeyName[256];
WCHAR m_wParamVal[256];
CHAR m_cParamVal[256];
DWORD m_dParamVal;
int m_iSubkeyIndex;

m_lStat = NULL;
m_ulRes = NULL;
m_dParamVal = NULL;
m_hKey = HKEY_LOCAL_MACHINE;
m_hSubKey = TEXT("SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}");
m_hTest = TEXT("SYSTEM\\ControlSet001\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\0008\\Linkage");
m_lStat = RegOpenKeyEx(m_hKey,m_hSubKey,0,KEY_READ,&m_hPtrOpenedKey);

if ( m_lStat != ERROR_SUCCESS ){
MessageBox("Ошибка","Внимание");
}

m_iSubkeyIndex = 0;

while((m_ulRes = RegEnumKey(m_hPtrOpenedKey, m_iSubkeyIndex, m_cSubKeyName, sizeof(m_cSubKeyName)/2)) == ERROR_SUCCESS)
{
m_iSubkeyIndex++;

m_lStat=RegOpenKeyEx(m_hPtrOpenedKey, m_cSubKeyName, 0, KEY_READ, &m_hPtrOpenedSubKey);


m_lStat=RegOpenKeyEx(m_hPtrOpenedSubKey, "Linkage", 0, KEY_QUERY_VALUE, &m_hLink);
//m_lStat=RegOpenKeyEx(m_hKey, m_hTest, 0, KEY_QUERY_VALUE, &m_hLink);

m_dParamVal = sizeof(m_wParamVal);
m_lStat=RegQueryValueEx(m_hLink,"Export",NULL,NULL,(PBYTE)m_wParamVal,&m_dParamVal);

WideCharToMultiByte(CP_ACP,0,m_wParamVal,-1,m_cParamVal + sizeof("\\Device\\NPF_") - sizeof("\\Device\\"), // buffer for new string
sizeof(m_cParamVal) - sizeof("\\Device\\NPF_") + sizeof("\\Device\\"),NULL,NULL);

}

Добрые день. Вопрос такой. Все вроди бы в порядке и в тоже время нет. При попытке считать данные с раздела Export, в переменную m_wParamval ничего не попадает. Я уже все проверил с документацией вроди бы все правльно, проверил соответсвие с реестром все правильно. Все есть. Смотрю в дебагере. Незнзнаю уже что делать. Прошу помощи. Заранее благодарен Максим Заикин
...
Рейтинг: 0 / 0
Чтение данных из реестра
    #33669257
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все разобрался сам. Для тех кто окажится в такой же ситуации
нужно включить следующие диррективы
#define UNICODE
#include <stdio.h>

и там где вы будете писать имена разделов вкючить макрос L

например

m_lStat=RegOpenKeyEx(m_hPtrOpenedSubKey, L"Linkage", 0, KEY_QUERY_VALUE, &m_hLink);

И все встанет на свои места.
...
Рейтинг: 0 / 0
Чтение данных из реестра
    #33669343
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да кстати совсем забыл. Этого не достаточно. Необходимо еще в
Project-settings-link-output-Entry point symbol, прописать wWinMainCRTStartup.

Иначе при компиляции прога будет вылетать на эапе компановки.
...
Рейтинг: 0 / 0
Чтение данных из реестра
    #33669344
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а че открытые хендлы не закрываешь по RegCloseKey?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Чтение данных из реестра
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]