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

Вниз

Поиск по реестру, сканирование реестра   Найти похожие ветки 

 
DeScriptor   (2004-10-05 22:27) [0]

Необходимо устроить сабж, т.е. поиск ключа и/или значения в реестре. Как это реализовать?


 
GuAV ©   (2004-10-05 23:15) [1]

Перебором и рекурсией. Используя TRegistry или используя функции winapi для работы с реестром напрямую.


 
DeScriptor   (2004-10-07 22:48) [2]

Ну, эт я и сам догадался. Вопрос в том, как именно. Дело в том, что никаких явных способов получить, например, содержимое ключа HKEY_CURRENT_USER я не знаю. GetKeyNames не срабатывает, т.к. не открыт ни один ключ, открыть ключ HKEY_CURRENT_USER тоже не получается, т.к. такого ключа нет. Соответственно, ни о каком переборе не может быть и речи. А WinAPI-функция RegSaveKey отчего-то создает пустой файл и ничего туда не сохраняет, хотя я ей задаю правильные параметры.


 
GuAV ©   (2004-10-07 23:29) [3]

 with tregistry.Create do
 try
   //RootKey:=HKEY_LOCAL_MACHINE
   OpenKey("", false);
   GetKeyNames(Memo1.Lines);
   CloseKey;
 finally
   free;
 end


 
cerber1 ©   (2004-10-09 13:35) [4]

2 DeScriptor

Читайте ХЕЛП:
 
The RegOpenKeyEx function opens the specified key.
LONG RegOpenKeyEx(

   HKEY hKey, // handle of open key
   LPCTSTR lpSubKey, // address of name of subkey to open
   DWORD ulOptions, // reserved
   REGSAM samDesired, // security access mask
   PHKEY phkResult  // address of handle of open key
  );


Parameters

hKey

Identifies a currently open key or any of the following predefined reserved handle values:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

lpSubKey

Points to a null-terminated string containing the name of the subkey to open. If this parameter is NULL or a pointer to an empty string, the function will open a new handle of the key identified by the hKey parameter. In this case, the function will not close the handles previously opened....


 
DeScriptor   (2004-10-09 16:31) [5]

>>GuAV ©   (07.10.04 23:29) [3]
>> with tregistry.Create do
>> try
>>   //RootKey:=HKEY_LOCAL_MACHINE
>>   OpenKey("", false);
>>   GetKeyNames(Memo1.Lines);
>>   CloseKey;
>> finally
>>   free;
>> end

Вот это конгениально!!!! Именно то, что мне и нужно было! И так просто!
Огромущщее спасибо!!!



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
14-1099565233
КаПиБаРа
2004-11-04 13:47
2004.11.21
Оформление заголовков модулей


14-1099051141
Knight
2004-10-29 15:59
2004.11.21
Опишите ваши впечатления от первого общения с VMware...


14-1099862089
Некто
2004-11-08 00:14
2004.11.21
Администрирование.


14-1099277025
Думкин
2004-11-01 05:43
2004.11.21
С днем рождения! 1 ноября


4-1097429834
Clampo
2004-10-10 21:37
2004.11.21
Монитор