Здравствуйте, PabloHuares, Вы писали:
PH>Добрый день всем. Подскажите пожалуйста, как можно обойти следующую проблему: PH>С помощью API-функции для получения значений ключей реестра RegQueryValueEx PH>пытаюсь взять значение из переменной Path, но столкнулся с тем, что если значение PH>ключа >24 символов, то функция не отрабатывает: PH> HKEY hNewKey; PH> DWORD dwType; PH> DWORD dwBytes=1024;; PH> char path[1024];
PH>if(RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment",0, KEY_ALL_ACCESS, &hNewKey)==ERROR_SUCCESS) PH> { PH> if(RegQueryValueEx( hNewKey, "Path", NULL, &dwType, (LPBYTE)path, &dwBytes )!=ERROR_SUCCESS) PH> { PH> AfxMessageBox("Не удалось считать данные ключа Path реестра"); PH> }; PH> RegCloseKey( hNewKey ); PH> } PH> else PH> { PH> AfxMessageBox("Не удалось открыть ключ Path реестра"); PH> };
PH>Я думаю, что что-то не так с типами переменных path, dwType или dwBytes, но как решить вопрос — не пойму никак!
PH>Спасибо!
Хотелось бы узнать чему же равен результат возвращаемый RegQueryValueEx (то что он не равен ERROR_SUCCESS и так понятно)