Встречаются два системных администратора, и один спрашивает другого:
- Ты чего такой грустный?
- Да вот сервер вчера "упал".
- Ну да ты что, его до сих пор не "поднял"?
- Поднял, но он со стола упал...
Прочитайте ключ под HKEY_CLASSES_ROOT\CLSID\*, просматривая его насчёт
ключей, которые имеют подключ "Borland DataBroker". Эти вхождения и являются
серверами приложений.
Ниже пример, который загружает имена доступных серверов приложений в
Listbox:
uses Registry;
procedure TForm1.FormCreate(Sender: TObject);
var
I: integer;
TempList: TStringList;
begin
TempList := TStringList.Create;
trywith TRegistry.Create dotry
RootKey := HKEY_CLASSES_ROOT;
if OpenKey('CLSID', False) then
GetKeyNames(TempList);
CloseKey;
for I := 1 to TempList.Count - 1 doif KeyExists('CLSID\' + TempList[I] + '\Borland DataBroker') thenbeginif OpenKey('CLSID\' + TempList[I] + '\ProgID', False) thenbegin
Listbox1.Items.Add(ReadString(''));
CloseKey;
end;
end;
finally
Free;
end;
finally
TempList.Free;
end;
end;
Определить доступные сервера приложений на машине можно через Registry, просмотрев ключ HKEY_CLASSES_ROOT\CLSID\* и нахождение вхождений с подключением 'Borland DataBroker'.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS