Вниз
Скачать: CL | DM;

Проблема с доступом к реестру   Найти похожие ветки 

 
Grig2004   (2003-09-19 14:16) [0]

Помогите пожалуйста решить следующую проблему. Я использую компонент (исходников нет), который обращается к реестру (ДЛЯ ЧТЕНИЯ) к ветке HKEY_LOCAL_MACHINE, к которой имеют доступ только админы. Если программу запустить не под админом - она вылетает с ошибкой. Я пока вижу только два решения этой проблемы:
1) запустить прогу под админом через командную строку (пароль известн)
2) как-то удаленно указать компаненту что реестр ему нужен только для чтения
Но ни то ни другое у меня сделать не получилось. Может Вы что-нибудь подскажете?


 
AlexKniga ©   (2003-09-19 14:51) [1]

Проблема в том, что TRegestry открывает ветки с доступом KEY_ALL_ACCESS, если явно не указать KEY_WRITE или KEY_READ.

Как это исправить без исходников
Скопируй в каталог проекта Registry.pas и исправь:

constructor TRegistry.Create;
begin
RootKey := HKEY_CURRENT_USER;
FAccess := {с KEY_ALL_ACCESS на} KEY_READ;
LazyWrite := True;
end;

потом пересобири проект.


 
clickmaker ©   (2003-09-19 15:22) [2]

> AlexKniga © (19.09.03 14:51) [1]

Reg := TRegistry.Create(KEY_READ);

:)


 
Nikolay M. ©   (2003-09-19 15:35) [3]


> AlexKniga © (19.09.03 14:51) [1]

Править исходники VCL... Ну ты монстр... :)))


 
Grig2004   (2003-09-19 16:28) [4]

Что-то ничего не получается. Поподробнее можалуйста.


 
AlexKniga ©   (2003-09-20 14:15) [5]

Если бы были доступны исходники, то надо было бы делать как делать как советует clickmaker.

Так нет исходников, то компилируем правленный Registry.pas
Без перемещения в папку проекта Delphi его не перекомпилирует.
Так же перемещаем, при необходимости, файл СуперПуперКомпонент.dcu в папку поекта.
Пересобираем проект Build.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
6-4006
Disel
2003-08-06 16:06
2003.10.02
Indy-smtp-MIME?


1-3878
Unreal
2003-09-18 15:18
2003.10.02
TEdit, WideString;


14-4080
DiamondShark
2003-09-14 14:22
2003.10.02
Всё. Спёкся.


3-3743
mip
2003-09-12 12:11
2003.10.02
Помогите пожалуйста с глюком в DbGrid


8-4001
begemot
2003-06-01 12:38
2003.10.02
ScreenSaver




   Наверх