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