![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск по реестру, сканирование реестра [D7, WinXP]
DeScriptor © (2004-10-05 22:27:00)Необходимо устроить сабж, т.е. поиск ключа и/или значения в реестре. Как это реализовать?
DeScriptor (2004-10-09 16:31:00) [1]>>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
Вот это конгениально!!!! Именно то, что мне и нужно было! И так просто!
Огромущщее спасибо!!!
cerber1 (2004-10-09 13:35:00) [2]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....
GuAV (2004-10-07 23:29:00) [3]
with tregistry.Create do
try
//RootKey:=HKEY_LOCAL_MACHINE
OpenKey('', false);
GetKeyNames(Memo1.Lines);
CloseKey;
finally
free;
end
DeScriptor (2004-10-07 22:48:00) [4]Ну, эт я и сам догадался. Вопрос в том, как именно. Дело в том, что никаких явных способов получить, например, содержимое ключа HKEY_CURRENT_USER я не знаю. GetKeyNames не срабатывает, т.к. не открыт ни один ключ, открыть ключ HKEY_CURRENT_USER тоже не получается, т.к. такого ключа нет. Соответственно, ни о каком переборе не может быть и речи. А WinAPI-функция RegSaveKey отчего-то создает пустой файл и ничего туда не сохраняет, хотя я ей задаю правильные параметры.
GuAV (2004-10-05 23:15:00) [5]Перебором и рекурсией. Используя TRegistry или используя функции winapi для работы с реестром напрямую.