Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 635

/ вопрос открыт /

Здравствуйте, эксперты! Можно ли удалить ключ из реестра, который содержит подключи и значения, какой-нибудь функцией с помощью TRegistry? Типо эгого Reg.DeleteKeyAndSubkeys. Или всё-таки придётся всё ручками удалять... сперва все параметры, потом подключи, а затем ту самую папку?

Примечание #1 (14 сентября 2011, 19:08):
Т.е. не папку а ключ.

eclipse Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: eclipse (статус: Посетитель)
Вопрос отправлен: 14 сентября 2011, 08:40
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 13; последнее сообщение — 19 сентября 2011, 20:05; участников в обсуждении: 3.
bugmenot

bugmenot (статус: 3-ий класс), 14 сентября 2011, 20:50 [#1]:

Цитата:

The subkey to be deleted must not have subkeys. To delete a key and all its subkeys, you need to enumerate the subkeys and delete them individually. To delete keys recursively, use the RegDeleteTree or SHDeleteKey function.
виконання програми розпочинається з того самого мiсця, де призупинилося.

Мережников Андрей

Мережников Андрей (статус: Абитуриент), 14 сентября 2011, 20:57 [#2]:

Call DeleteKey to remove a specified key and its associated data, if any, from the registry. Under Windows 95, if the key has subkeys, the subkeys and any associated data are also removed. Under Windows NT, subkeys must be explicitly deleted by separate calls to DeleteKey.
bugmenot

bugmenot (статус: 3-ий класс), 15 сентября 2011, 02:30 [#3]:

Цитата (Мережников Андрей):

Under Windows 95
О как, а я про Win9x уже забыл, как про страшный сон!
виконання програми розпочинається з того самого мiсця, де призупинилося.

Мережников Андрей

Мережников Андрей (статус: Абитуриент), 15 сентября 2011, 05:52 [#4]:

цитата взята с сайта embarcadero
eclipse

eclipse (статус: Посетитель), 15 сентября 2011, 09:46 [#5]:

Ясно... спасибо всем... всё - таки так и придётся оставить так как было...
bugmenot

bugmenot (статус: 3-ий класс), 15 сентября 2011, 10:33 [#6]:

Цитата (eclipse):

всё - таки так и придётся оставить так как было...
И для кого я привел метод обхода ограничения... :­-­/
виконання програми розпочинається з того самого мiсця, де призупинилося.

eclipse

eclipse (статус: Посетитель), 15 сентября 2011, 22:31 [#7]:

bugmenot а вот фиг там! Reg.Deletekey не удаляет всё что внутри указанного ключа да и сам ключ, если там есть ещё ключи и параметры (нужно с TRegistry). По крайней мере в ветке HKEY_LOCAL_MACHINE.
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 16 сентября 2011, 05:42 [#8]:

to eclipse - Вы читать умеете? bugmenot не писал что DeleteKey (который является методом TRegistry) удаляет подключи. В его сообщении написано как раз наоборот:

Цитата (bugmenot):

The subkey to be deleted must not have subkeys.
eclipse

eclipse (статус: Посетитель), 16 сентября 2011, 22:16 [#9]:

Да ёлки-палки! Я про это и напмсал что он не удаляет (DeleteKey), ещё уточнил есть ли другой метод? Только все остальные методы которое там приведены с Tregistry не связаны, если ток на прямую через API (RegDeleteTree or SHDeleteKey).
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 16 сентября 2011, 22:34 [#10]:

Цитата (eclipse):

Да ёлки-палки!

Организуете рекурсию по удалению подключей - в чем проблема?
bugmenot

bugmenot (статус: 3-ий класс), 16 сентября 2011, 23:39 [#11]:

Цитата (Мережников Андрей):

рекурсию по удалению подключей - в чем проблема?

еще можно поставить Windows Me и проблема сама рассосётся :­-­D

у RegDeleteKey (для которого TRegistry.DeleteKey является оберткой) поведение такое, о чём я сразу и написал
виконання програми розпочинається з того самого мiсця, де призупинилося.

eclipse

eclipse (статус: Посетитель), 19 сентября 2011, 20:02 [#12]:

Ха! Спасибо! Лучше на хрюше останусь! :)
eclipse

eclipse (статус: Посетитель), 19 сентября 2011, 20:05 [#13]:

В общем рекурсия и была.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:51
Выполнено за 0.02 сек.