![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись инфы из ключа реестра в файл
Sagrer © (2004-07-04 23:11:00)Собсно мне надо как-то сделать нечто вроде аналога TRegistry.LoadKey и TRegistry.SaveKey.
Пока пытался делать вот так
var
Key : HKey;
begin
//
Key := RegKeyOpenRead(HKEY_CURRENT_USER,'Software\TEST!');
RegSaveKey(HKEY_CLASSES_ROOT,'test1.reg',nil);
RegKeyClose(Key);
end;
файл test1.reg создается, но остается пустым.
Ключ HKEY_CURRENT_USER\Software\TEST! ессно существует и содержит значения.
Собсно про RegSaveKey узнал когда посмотрел на TRegistry.SaveKey, делаю вроде бы так же как там, но не работает :(.
Gandalf (2004-08-17 22:52:00) [1]Сначало сохраняешь потом читаешь. В чем конкретно проблема?
Ewgenii (2004-08-06 22:06:00) [2]Как сохранить настройки в реестре и потом считать их?
Vladimyr (2004-07-08 03:13:00) [3]Есть ф-ция АПИ: AdjustTokenPrivileges - или что-то подобное
Sagrer (2004-07-05 14:43:00) [4]ну это то я знаю, что можно все руками сделать, но зачем выдумывать велосипед, если есть функции API для этого?
А TRegistry я не использую, я просто посмотрел, как это сделано в TRegistry, и попытался сделать так-же, но не работает.
RegSaveKey и RegLoadKey - это из API. Но мне не удалось их правильно использовать..... имхо проблема в каких-то "привилегиях"... в справке написано, что
Windows NT: The calling process must have the SE_BACKUP_NAME privilege.
но как дать процессу эту привилегию - хз :(.
zzzz (2004-07-05 09:56:00) [5]http://kol.mastak.ru/files/art/lessons8.htm
Falcon (2004-07-05 09:28:00) [6]Воспользуйся RegKeyGetStr (см. kol.pas) и дальше пиши значение ключа куда душа пожелает. В KOL есть свой набор функций для работы с реестром. Если использовать TRegistry, сразу резко возрастет размер екзешника.
Sagrer (2004-07-05 00:47:00) [7]сорри, не совсем то написал...
var
Key : HKey;
begin
//
Key := RegKeyOpenRead(HKEY_CURRENT_USER,'Software\TEST!');
RegSaveKey(Key,'test1.reg',nil);
RegKeyClose(Key);
end;
это тоже не работает. HKEY_CLASSES_ROOT вместо Key подставить - это я уже потом пробовал, когда читал справку про HKey...