Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Программа записи значения в реестр на Delphi (http://forum.oszone.net/showthread.php?t=30346)

Animal 21-08-2003 17:05 208304

ОС W2000Pro.
Написал простенькое консольное приложение на Delphi, которое меняет значение параметра в реестре. Проблема: запись происходит только если есть права администратора. Под опытным пользователем не пишет, хотя ПРАВ 100% ХВАТАЕТ, проверял - regedit'ом значение можно изменить. В чем причина?
Цитата:

program Project1;
{$APPTYPE CONSOLE}
uses Windows, Registry;
var
Reg:TRegistry;
{$R *.RES}
begin
 Reg := TRegistry.Create;
 try
   Reg.RootKey := HKEY_LOCAL_MACHINE;
   if Reg.OpenKey('\Software\IDAVLab\DrWebUpdate\Settings', True) then
  begin
     Reg.WriteString('UpdateURL','V:\UPGRADE\ANTIVIR\DRWEBUPD');
     Reg.CloseKey;
   end;
 finally
end;  
end.

vasketsov 22-08-2003 07:55 208305

Animal
Reg.CloseKey; убери, а после finally вставь Reg.Free;
хотя, это проблемы не решит. Да и перед Software слэш не надо.

По проблеме - надо смотреть GetLastError что вернет.

Animal 22-08-2003 08:34 208306

vasketsov
Спасибо за ответ.
Чем слэш перед Software мешает? С ним точно все нормально.
Reg.Free - поставлю конечно.
Хотя и так работает...

На самом деле хрень с доступом решилась так:
После Reg.RootKey := HKEY_LOCAL_MACHINE;
нужно Reg.Access:=KEY_WRITE;
Все.
Надо будет про обновление реестра на клиентах W2000Pro/XP в домене в NT тему поднять



Время: 02:11.

Время: 02:11.
© OSzone.net 2001-