Доступ к ключам реестра
От: Sage Hermit  
Дата: 16.11.03 16:44
Оценка:
Как определить, что имеется доступ к определенному ключу реестра, причем
если ключа не существует, можно ли его создать (т.е. есть ли такие права) ?
Желательно на примере (Delphi)...
Re: Доступ к ключам реестра
От: Sage Hermit  
Дата: 16.11.03 20:48
Оценка:
Люди !!! Помогите, пожалуйста !!! ОЧЕНЬ надо !!!
Re: Доступ к ключам реестра
От: Sinclair Россия https://github.com/evilguest/
Дата: 17.11.03 04:17
Оценка:
Здравствуйте, Sage Hermit, Вы писали:

SH>Как определить, что имеется доступ к определенному ключу реестра, причем

SH>если ключа не существует, можно ли его создать (т.е. есть ли такие права) ?
SH>Желательно на примере (Delphi)...
Попытайся получить этот доступ. Если получилось — все Ок. Если нет — то должен вылететь ERegistryException. В нем ErrorCode есть? Если нету, то смотри GetLastError().
... << RSDN@Home 1.1 beta 2 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: Доступ к ключам реестра
От: Львёнок Россия  
Дата: 17.11.03 05:53
Оценка:
Hello, Sage!
You wrote on Sun, 16 Nov 2003 16:44:43 GMT:

SH> Как определить, что имеется доступ к определенному ключу реестра,

SH> причем если ключа не существует, можно ли его создать (т.е. есть ли
SH> такие права) ? Желательно на примере (Delphi)...


uses
  Registry;

var
  reg : TRegistry;

begin
  reg := TRegistry.Create;                                                             //Создаём
  reg.RootKey := HKEY_LOCAL_MACHINE;                         //Устанавлеваем корневую ветку
  if not reg.OpenKey ('Software\Microsoft\Windows', true) then   //Пытаемся открыть и если нет, то создать
  begin
     ShowMessage ('Не удалось открыть/создать ключ. Вероятно доступ read only.');
  end;
  reg.Free;
end;


Ногами не бить... Код написан прям в редакторе, по памяти, без тестов...
Так что если название методов не совпадет чуть-чуть — поправишь...

---
С уважением, Струков Илья.
E-mail : lnking@mail.ru
ICQ : 17170362
Posted via RSDN NNTP Server 1.7 "Bedlam"
Re[2]: Доступ к ключам реестра
От: Sage Hermit  
Дата: 17.11.03 10:43
Оценка:
Здравствуйте, Львёнок, Вы писали:

Лё> if not reg.OpenKey ('Software\Microsoft\Windows', true) then //Пытаемся открыть и если нет, то создать


Sorry, не совсем корректно объяснил, в чем проблема. Нужно просто проверить, имеется ли ПОЛНЫЙ доступ к разделу, а если его нет, то МОЖНО ли его создать (не создавая), т.е. имеются ли ТАКИЕ ПРАВА ! Просто проверка, не изменяя ничего в реестре !

Говорят, можно с помощью функции RegQueryInfoKey это выяснить, но я что-то не понял, как её использовать...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.