Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

Разница в написании - доступ к Реестру.   Найти похожие ветки 

 
Bers   (2003-11-24 11:14) [0]

Доброго времени суток!
Уважаемые Мастера, подскажите, если кто знает:
при использовании TRegistry.KeyExists ключи находятся во всех ветках реестра, а если пользоваться RegOpenKeyEx с параметрами доступа:
STANDARD_RIGHTS_READ or KEY_QUERY_VALUE or KEY_ENUMERATE_SUB_KEYS (Теже что используются в KeyExists (registry.pas)), то успешный поиск идет только по ветке реестра HKEY_CLASSES_ROOT а во всех остальных случаях возвращается значение 161. Почему так?

Заранее благодарен!
С Уважением, Андрей.


 
clickmaker ©   (2003-11-24 11:41) [1]

161 - это типа неверный путь. Код поиска приведи, может понятней будет


 
Bers   (2003-11-24 11:53) [2]

Что-то типа:
SRoot, Key - читается из файла(строка)
var Root:HKEY;
if SRoot="HKCR" then Root:=HKEY_CLASSES_ROOT;
if SRoot="HKCU" then Root:=HKEY_CURRENT_USER;
if SRoot="HKLM" then Root:=HKEY_LOCAL_MACHINE;
if SRoot="HKUS" then Root:=HKEY_USERS;
if SRoot="HKCC" then Root:=HKEY_CURRENT_CONFIG;
if (Root<=0) OR (Key="") then
begin
result:=False;
exit;
end;

tmpres:=FALSE;
Err:=0;

MK:=0;
Err:=RegOpenKeyEx(Root,PChar(Key),0,
STANDARD_RIGHTS_READ or
KEY_QUERY_VALUE or
KEY_ENUMERATE_SUB_KEYS,
MK);

if Err=ERROR_SUCCESS
then begin ... end
else begin ... end;


Есть соображения?
С Уважением, Андрей.


 
clickmaker ©   (2003-11-24 12:14) [3]

Попробуй указать одну KEY_READ в качестве доступа


 
Bers   (2003-11-24 12:32) [4]

Нет я разобрался, бага не в этом была: просто в параметре Key у меня был указан первый символ "\" так как я в KeyExists указывал, а его там быть не должно!
Правда непонятно почему тогда работало с HKCR?????? :( нда загадочное ето дело - программирование :).
Все равно всем спасибо.



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

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
3-2033
Term
2004-01-05 11:40
2004.02.02
Проблемы с фильтрациией по дате с помошью компонентов Halcyon...


11-2050
TimNew
2003-05-18 01:27
2004.02.02
как установить фокус


3-1990
Layner
2004-01-06 08:49
2004.02.02
PHP4(FreeBSD) + MSSQL2000. Даты.


6-2252
user
2003-11-27 07:46
2004.02.02
TidTCPServer TidTCPClient


3-1970
Романов Р.В.
2004-01-09 12:01
2004.02.02
Выбор структуры БД