Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как можно определить доступные сервера приложений на этой машине через Registry

Автор: Nomadic

Встречаются два системных администратора, и один спрашивает другого:
- Ты чего такой грустный?
- Да вот сервер вчера "упал".
- Ну да ты что, его до сих пор не "поднял"?
- Поднял, но он со стола упал...

Прочитайте ключ под HKEY_CLASSES_ROOT\CLSID\*, просматривая его насчёт ключей, которые имеют подключ "Borland DataBroker". Эти вхождения и являются серверами приложений.

Ниже пример, который загружает имена доступных серверов приложений в Listbox:


uses Registry;

procedure TForm1.FormCreate(Sender: TObject);
var
  I: integer;
  TempList: TStringList;
begin
  TempList := TStringList.Create;
  try
    with TRegistry.Create do
    try
      RootKey := HKEY_CLASSES_ROOT;
      if OpenKey('CLSID', False) then
        GetKeyNames(TempList);
      CloseKey;
      for I := 1 to TempList.Count - 1 do
        if KeyExists('CLSID\' + TempList[I] + '\Borland DataBroker') then
        begin
          if OpenKey('CLSID\' + TempList[I] + '\ProgID', False) then
          begin
            Listbox1.Items.Add(ReadString(''));
            CloseKey;
          end;
        end;
    finally
      Free;
    end;
  finally
    TempList.Free;
  end;
end;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay