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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Работа с реестром

Ответить
Настройки темы
Работа с реестром

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


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

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


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

Отправлено: 19:54, 01-09-2003

 

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


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

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


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

Отправлено: 09:04, 03-09-2003 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


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


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

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


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

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

Отправлено: 12:59, 03-09-2003 | #3


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


Сообщения: 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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Работа с реестром

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Работа с реестром TERMINAL AutoIt 10 15-06-2012 11:41
C/C++ - Работа с реестром С++ ShadowMas Программирование и базы данных 15 20-04-2010 11:40
Проблемы с реестром metroid Microsoft Windows 2000/XP 1 23-03-2006 08:02
Работа с реестром semen1967 Хочу все знать 18 27-11-2004 12:05
Работа с реестром на дельфи 7 fossil Программирование и базы данных 6 03-09-2004 13:49




 
Переход