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

Вниз

Поиск в реестре ...   Найти похожие ветки 

 
Acidy ©   (2003-02-20 08:05) [0]

Народ! Помогите организовать поиск в строки реестре (надо проверить все ключи и разделы...). Хотя бы алгоритм... Спасибо!
p.s Я не тупой, я просто занят сильно...


 
han_malign ©   (2003-02-20 09:21) [1]

RegEnumKey/RegEnumValue и так-же как поиск файла(FindFirst/FindNext), единственное отличие - ключи(каталоги) и значения(файлы) - ищутся разными функциями, а не одной...


 
anner ©   (2003-02-20 10:47) [2]

Например следующая процедура сканирует реестр и ищет точное совпадение со строкой FindString, все совпадения заносит в
OutList


procedure FindStringRegistry(RootKey: HKEY; PathString: string; FindString: string; var OutList: TStringList);
var Reg: TRegistry;
SubKeys: TStringList;
ValueNames: TStringList;
i: integer;
begin
Reg := TRegistry.Create;
Reg.RootKey := RootKey;
Reg.OpenKey(PathString, false);
ValueNames := TStringList.Create;
Reg.GetValueNames(ValueNames);
for i := 0 to ValueNames.Count-1 do
if (Reg.GetDataType(ValueNames[i])=rdString) and (Reg.ReadString(ValueNames[i])=FindString) then
OutList.Add({HKey + "\" + }PathString + "\" + ValueNames[i]);
SubKeys := TStringList.Create;
Reg.GetKeyNames(SubKeys);
for i := 0 to SubKeys.Count-1 do
FindStringRegistry(RootKey, PathString + "\" + SubKeys[i], FindString, OutList);
end;


И пример ее использования (ищет строку "local" в разделе HKEY_CURRENT_USER):


procedure TMainForm.btnOKClick(Sender: TObject);
var OutString: TStringList;
i: integer;
begin
OutString := TStringList.Create;
FindStringRegistry(HKEY_CURRENT_USER, "", "local", OutString);
for i := 0 to OutString.Count-1 do
cbxRes.Items.Add(OutString[i]);
end;


 
Acidy ©   (2003-02-22 10:40) [3]

Усем бальшушее пасиба !!!!



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

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

Наверх




Память: 0.47 MB
Время: 0.015 c
14-54821
Opuhshii
2003-03-31 20:01
2003.04.17
Очень нехоршие люди!


3-54469
Sewix
2003-03-29 09:21
2003.04.17
Кто нибудь ставил oracle на Win 98


1-54717
IGORYOK
2003-04-05 11:47
2003.04.17
Как сделать добавку к Дельфи


3-54466
Andy
2003-03-28 16:04
2003.04.17
Как програмно добавить поле в уже существующую DBF таблицу


3-54421
Afteam
2003-04-01 10:51
2003.04.17
Есть компоненты для работы с DBase в многопользовательском режиме