Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Работа с реестром (http://forum.oszone.net/showthread.php?t=30312)

Artya 01-09-2003 19:54 208181

например в разделе
HCEY_CURRENT_USER\SOM_KEY
находится n-ое количество(незнаемое заранее) параметров. Как удалить все параметры из моей програмы.
З.Ы.Желательно кусочк кода....

unknown bug 03-09-2003 09:04 208182

1. RegOpenKey(...);
2. цикл RegEnumValue(...);
 2.1 RegDeleteValue(...);
3. RegCloseKey(...)

Artya 03-09-2003 12:59 208183

А че за цикл RegEnumValue(...);
И вообще можно поподробнее об этих функциях
З.Ы. я просто с++ только учить начал... *:shuffle:

[s]Исправлено: Stdnet, 14:43 3-09-2003[/s]

unknown bug 08-09-2003 10:19 208184

смотришь в 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);

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


Время: 22:13.

Время: 22:13.
© OSzone.net 2001-