Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Backup ветки реестра... [D6]


Страницы:   1 2

kull ©   (2002-09-25 13:21:00) 

Привет народ!

Кто подскажет как мне сохранить ключ реестра (вместе со всем его содержимым) в файл, с возможностью ее дальнейшего восстановления из этого файла?

Я пробую так:

procedure TForm1.Button1Click(Sender: TObject);
var
R: TRegistry;
begin
R := TRegistry.Create;
R.RootKey := HKEY_CURRENT_USER;
R.SaveKey("SOFTWARE\mykey","c:\key");
R.DeleteKey("SOFTWARE\mykey");
{вот до этого места все замечательно работает файл сохраняется,
ветка удаляется, а дальше восстановить эту ветку не
получается }
R.LoadKey("SOFTWARE\mykey","c:\key");
R.Free;
end;


Кто скажет в чем здесь проблемма? Или может можно другим способом?


kull   (2002-09-25 14:27:00) [21]


> Внук © (25.09.02 14:21)

Ну ну хорошо пусть будет так, но вопрос в том почену не работает?
Ведь вызов SaveKey и LoadKey одинаковый, а LoadKey не работает, а также RestoreKey.


Внук   (2002-09-25 14:21:00) [22]

Requirements
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000/XP. Also supported by Microsoft Layer for Unicode.
Header: Declared in Winreg.h; include Windows.h.
Library: Use Advapi32.lib.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/regloadkey.asp


Внук   (2002-09-25 14:18:00) [23]

Win32s - урезанная подсистема поддержки 32-разрядного кода, к Win98 отношения не имеет. Нас должно в данном случае интересовать Win95-Yes. Еще есть MSDN.


kull   (2002-09-25 14:16:00) [24]


> Внук © (25.09.02 14:10)

Может я что-то не понимаю, но там написано:

Windows NT Yes
Win95 Yes
Win32s No


Андрей Прокофьев   (2002-09-25 14:14:00) [25]

>>А загляните-ка в "Win32 Programmer"s reference", справка по >>RegLoadKey. Там есть кнопочка сверху - "QuickInfo". Там >>написано что где поддерживается...
SaveKey и LoadKey - одинаково


Внук   (2002-09-25 14:10:00) [26]

Именно там я и смотрел :)


kull   (2002-09-25 14:08:00) [27]


> Внук © (25.09.02 13:57)

А загляните-ка в "Win32 Programmer"s reference", справка по RegLoadKey. Там есть кнопочка сверху - "QuickInfo". Там написано что где поддерживается...


LordOfSilence   (2002-09-25 14:01:00) [28]

Ужасно умная мысль: если у Вас файл располагается
на FAT-томе, расширение должно отсутствовать.
Опять же из хелпа:

Before an application calls LoadKey, the RootKey property must be set to HKEY_USERS, HKEY_LOCAL_MACHINE, or to a key returned by a previous call to RegistryConnect.


Внук   (2002-09-25 13:57:00) [29]

Очень интересно, до сегодняшнего дня поддерживалось


Андрей Прокофьев   (2002-09-25 13:54:00) [30]

В каком help-e?


kull   (2002-09-25 13:45:00) [31]

Блин народ...
Я в hepl-e обнаружил, что LoadKey не поддерживается на win98, которая у меня стоит. Главное что SaveKey работает а LoadKey нет.

Что делать?


kull   (2002-09-25 13:36:00) [32]


> LordOfSilence © (25.09.02 13:30)

Все это я уже делал, а сохранение и восстановление у меня на самом деле на разных кнопках висит. Это все равно не работает.
Просто я привет пример такой, чтоб кода меньше было.


LordOfSilence   (2002-09-25 13:30:00) [33]

Не на 100%, но все-таки:

Попробуйте разнести эти операции во времени.
То есть сначала Create, SaveKey, DeleteKey, Free.
Потом Create, LoadKey, Free.
Опять-таки попробуйте сделать эти операции не
одну за другой, а рассадите на разные события.
Например Button1Click, Button2Click.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо