Текущий архив: 2004.08.22;
Скачать: CL | DM;
Вниз
Сохранение и загрузка ключей реестра Найти похожие ветки
← →
Sting (2004-07-08 23:01) [0]Доброг времени суток.
У меня такая проблема.
Есть функции для работы с реестром SaveKey, LoadKey.
Но они не работают должным образом. Насколько я понял, в ХР необходимо получить соответствующие привилегии для их использования. Функция SaveKey сохраняет ветвь реестра в файл, если была установлена привилегия SeBackupPrivilege.
Однако LoadKey не восстанавливает информацию из созданного файла. Для ее восстановления я использую привилегию SeRestorePrivilege. Система выдает такое сообщение: "потребовалось восстановление одного из файлов данных системного рееста с помощью журнала или дополнительной копии. Восстановление произошло успешно." И в реестре никаких изменений не происходит.
Кто-нибудь может помочь с этим?
← →
Cobalt © (2004-07-09 01:56) [1]Чё?!
Код давай!!!
:)
← →
Sting (2004-07-09 03:05) [2]Установка привилегии:
function SetPrivilege(sPrivilegeName: string; bEnabled: boolean): boolean;
var
TPPrev,
TP: TTokenPrivileges;
Token: THandle;
dwRetLen: DWord;
begin
Result := False;
try
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);
TP.PrivilegeCount := 1;
if (LookupPrivilegeValue(nil, PChar(sPrivilegeName),TP.Privileges[0].LUID)) then
begin
if (bEnabled) then
TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
else TP.Privileges[0].Attributes := 0;
dwRetLen := 0;
Result := AdjustTokenPrivileges(Token, False, TP, SizeOf(TPPrev),
TPPrev, dwRetLen);
end;
finally
CloseHandle(Token);
end;
end;
Сохранаю так:
var
x : TRegistry;
key : string;
begin
SetPrivilege("SeBackupPrivilege", True);
key:="Некоторый ключ";
x:=tregistry.Create;
x.RootKey:=HKEY_LOCAL_MACHINE;
x.SaveKey(key,"c:\tmp1");
x.Free;
end;
Удаляю ключ. Пытаюсь восстановить так:
var
x : TRegistry;
key : string;
begin
SetPrivilege("SeRestorePrivilege", True);
key:="Некоторый ключ";
x:=tregistry.Create;
x.RootKey:=HKEY_LOCAL_MACHINE;
x.LoadKey(key,"c:\tmp1");
x.Free;
end;
И ничего не получается
Страницы: 1 вся ветка
Текущий архив: 2004.08.22;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.022 c