Вниз
Скачать: 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.015 c
1-3949
Anderz
2003-09-20 22:12
2003.10.02
Проектирование


14-4048
Layner
2003-09-15 15:06
2003.10.02
1C 7.7+SQLserv-клиент не может загрузить программу, желтая


1-3823
evgeny_krasilov
2003-09-19 15:46
2003.10.02
TDBGrid, позиция указателя и нужная запись


14-4056
aga
2003-09-13 10:28
2003.10.02
Linux Mandrake 9.1(9.2)


1-3849
Брат
2003-09-19 11:04
2003.10.02
Дочерние окна




   Наверх