Новый участник
Сообщения: 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);
Попробуй - должно работать, если нет - пиши...
|