Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2008, 21:29   #1
CrazyProgramer
Заблокирован
Пользователь
 
Регистрация: 14.07.2008
Сообщений: 23
По умолчанию Поиск в реестре :(

Товарисчи, помогите пожалуйста мне с одной проблемкой, на Delphi надо найти опреденный ключ в реестре по имени параметра
Дело обстоит так -
Вот тут "HKEY_LOCAL_MACHINE\SOFTWARE\Classe s\CLSID" у меня находяться много ключей с разными именами типо
"{5591379C-B467-4BCA-B647-A438712504B0}"
Так вот, заранее мне не известно как точно наз-ся этот CLSID нужный (он может меняться на разных машинах), но в нем точно содержиться подключ "InprocServer32" и и меет 1 строковой параметр, с такимже именем (тоесть "InprocServer32") в котором записано нечто вроде:
"B&HBVn-}f(ZXfeAR6.jiTranslationFiles_1031> B%Bz691Gx8Q{jBqDGB(6" таких цифр, так вот по этом цифрам мне и нужно найти этот CLSID
Как это организовать даже непредставляю, надеюсь на вашу помощь!
Ниже скрин приложил для наглядности
Изображения
Тип файла: jpg scr.jpg (25.7 Кб, 182 просмотров)
CrazyProgramer вне форума Ответить с цитированием
Старый 27.08.2008, 22:40   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Вот как вариант, если конечно я Вас правильно понял:
Код:
uses Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
reg : TRegistry;
s   : TStringList;
i   : Integer;
begin
  s:=TStringList.Create;
  reg:=TRegistry.Create;
  reg.RootKey:=HKEY_LOCAL_MACHINE;
  reg.OpenKey('SOFTWARE\Classes\CLSID', false);
  reg.GetKeyNames(s);
  reg.CloseKey;

  for i:=0 to s.Count-1 do
    begin
        reg.OpenKey('SOFTWARE\Classes\CLSID\'+s[i]+'\InprocServer32', false);
        If reg.ValueExists('InprocServer32') then
          ListBox1.Items.Add(s[i]); // Добавляем с ListBox1 названия ключей
        reg.CloseKey;
    end;
  reg.Free;
end;

Последний раз редактировалось FaTaL; 27.08.2008 в 22:42.
FaTaL вне форума Ответить с цитированием
Старый 28.08.2008, 01:43   #3
CrazyProgramer
Заблокирован
Пользователь
 
Регистрация: 14.07.2008
Сообщений: 23
По умолчанию

FaTaL, спасибо работает, немного подправил насчет поиска, гуд стало

Последний раз редактировалось CrazyProgramer; 28.08.2008 в 01:53.
CrazyProgramer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Протоколирование изменений в реестре. Cerber24 Общие вопросы Delphi 1 07.05.2008 12:21
Проверка ключа в реестре Marsik Помощь студентам 5 24.04.2008 18:46
Поиск в реестре* не активном nivea Помощь студентам 3 14.01.2008 17:42
Сохранение шрифта в реестре GAGARIN-NEW Общие вопросы Delphi 4 07.12.2007 22:11
Дерево как в проводнике, реестре Valdis Общие вопросы Delphi 1 04.10.2007 00:02