Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.15;
Скачать: CL | DM;

Вниз

Помогите!!! Не работает RegSaveKey !!!   Найти похожие ветки 

 
marwin   (2002-02-13 13:23) [0]

Hello All !!!
Необходимо сохранить кусок реестра в файл в Windows2000
Делаю так:
Способ 1:

procedure TForm1.Button4Click(Sender: TObject);

var
HNDL :HKEY;

begin
RegCreateKeyEx(HKEY_LOCAL_MACHINE, PChar("Software\Far"), 0,nil, REG_OPTION_NON_VOLATILE , KEY_ALL_ACCESS, nil, HNDL, nil);

RegSaveKey(HNDL, PChar("c:\far.reg"), nil);
RegCloseKey(HNDL);
end;

Способ 2:

procedure TForm1.Button4Click(Sender: TObject);

var
HNDL :HKEY;
PD :PDWORD;

begin
RegOpenKey(HKEY_LOCAL_MACHINE, PChar ("Software\Far"), HNDL);
RegSaveKey(HNDL, PChar("c:\far.reg"), nil);
RegCloseKey(HNDL);
end;

Способ 3:

procedure TForm1.Button3Click(Sender: TObject);

var
Reg :TRegistry;

begin
Reg:=TRegistry.Create;
with Reg do
begin
RootKey:=HKEY_LOCAL_MACHINE;
SaveKey("Software\Far", "c:\far.reg");
Free;
end;
end;

Во всех случаях создает файл нулевой длины и все :-(
Ключ, конечно существует...
Может кто поможет.
Заранее спасибо


 
troits ©   (2002-02-13 19:01) [1]

Я попробовал код, и вот что получилось.
Ф-ция RegSaveKey возвращает ошибку
1314 - A required privilege is not held by the client.
Посмотрим в SDK -
Windows NT/2000 or later: The calling process must have the SE_BACKUP_NAME privilege enabled.

Дальше надо смотреть, есть ли привилегия SE_BACKUP_NAME.
LookupPrivilegeValue , PrivilegeCheck ...

Я думаю, дело в этом. Кстати, файла не должно существовать, иначе RegSaveKey вернет
183 - Cannot create a file when that file already exists.




 
Suntechnic ©   (2002-02-14 04:08) [2]

>marwin (13.02.02 13:23)
troits © (13.02.02 19:01) тебе абсолютно правильно заметил. Под Win 2000 крайне не рекомендуется использовать ключ KEY_ALL_ACCESS, потому как если программа будет запущена не под учётной записью администратора, то высока вероятность того, что вызов ф-ции потерпит неудачу.



Страницы: 1 вся ветка

Текущий архив: 2002.04.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
14-46501
Nazya
2002-03-07 14:29
2002.04.15
Местера помогите с сервисом (нужен исходник)


1-46309
Serdyukov
2002-04-03 15:37
2002.04.15
Проблема различия отображения форм в Windows9x и NT


14-46506
Alx2
2002-03-07 10:04
2002.04.15
Поздравляю дам, нашедших себя на поприще программинга, с 8 Марта!


3-46282
Art1
2002-03-22 16:16
2002.04.15
Помогите с изменением полей, плииииз.


4-46541
Poirot
2002-02-07 02:54
2002.04.15
Как вставить в системное меню POPUP....