![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Backup ветки реестра... [D6]
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.