Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Работа с реестром
Показать сообщение отдельно

Новый участник


Сообщения: 49
Благодарности: 0

Профиль | Отправить PM | Цитировать


смотришь в MSDN либо на msdn.microsoft.ru...
пример кода:

HKEY key;
if (RegOpenKeyEx(
HKEY_LOCAL_MACHINE,
"SOFTWARE\\SOM_KEY",
0,
KEY_ALL_ACCESS,
&key) != ERROR_SUCCESS)
{
//ошибка - нет такого ключа либо не хватает прав...
}
#define MAX_LEN_VALUE_NAME *16383*sizeof(TCHAR) /*max длина имени в 2000 и XP, в 9X - 255 */

DWORD namelen = MAX_LEN_VALUE_NAME;
char* valuename = (char*)_alloca(namelen); /* либо = new char[namelen]; только потом не забудь delete valuename;
в случае _alloca delete не надо, так как память выделяется в стеке */

DWORD err = RegEnumValue(
key, * * * * * * * //наш ключ
0, * * * * * * * * * //индекс всегда 0, так как удаляем ключи
valuename, * *//буфер для ValueName
&sizename, * *//размер буфера
NULL, * * * * * * *//зарезервировано (всегда 0)
NULL, * * * * * * *//тип данных нам не нужен
NULL, * * * * * * *//данные тоже не нужны
NULL); * * * * * *//длина данных тоже не нужна

while (err == ERROR_SUCCESS || err != ERROR_NO_MORE_ITEMS)
{
RegDeleteValue(key,valuename);
sizename = MAX_LEN_VALUE_NAME;
err = RegEnumValue(key,0,valuename,&sizename,NULL,NULL,NULL,NULL);
};
RegCloseKey(key);

Попробуй - должно работать, если нет - пиши...

Отправлено: 10:19, 08-09-2003 | #4

Название темы: Работа с реестром