Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
ВнизПроблема с доступом к реестру Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c