Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.01 c
7-54914
pet
2003-02-26 14:19
2003.04.17
Проблема выхода Виндовс


1-54628
ArtemB
2003-04-07 09:38
2003.04.17
Выделение


1-54713
Max1111
2003-04-04 12:32
2003.04.17
Проблема с глобальным динамическим массивом


14-54873
DOP
2003-03-29 01:58
2003.04.17
НОВЫЙ ПРОЕКТ! УЧАСТВУЙТЕ!


7-54923
Arez
2003-02-27 11:23
2003.04.17
Как записать компакт диск?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский