|
|
|
Чтение данных из реестра
|
|||
|---|---|---|---|
|
#18+
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 ничего не попадает. Я уже все проверил с документацией вроди бы все правльно, проверил соответсвие с реестром все правильно. Все есть. Смотрю в дебагере. Незнзнаю уже что делать. Прошу помощи. Заранее благодарен Максим Заикин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 03:20 |
|
||
|
Чтение данных из реестра
|
|||
|---|---|---|---|
|
#18+
Все разобрался сам. Для тех кто окажится в такой же ситуации нужно включить следующие диррективы #define UNICODE #include <stdio.h> и там где вы будете писать имена разделов вкючить макрос L например m_lStat=RegOpenKeyEx(m_hPtrOpenedSubKey, L"Linkage", 0, KEY_QUERY_VALUE, &m_hLink); И все встанет на свои места. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 07:48 |
|
||
|
Чтение данных из реестра
|
|||
|---|---|---|---|
|
#18+
Да кстати совсем забыл. Этого не достаточно. Необходимо еще в Project-settings-link-output-Entry point symbol, прописать wWinMainCRTStartup. Иначе при компиляции прога будет вылетать на эапе компановки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 12:44 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=361&tid=2031521]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 349ms |

| 0 / 0 |
