Встречаются два системных администратора, и один спрашивает другого:
- Ты чего такой грустный?
- Да вот сервер вчера "упал".
- Ну да ты что, его до сих пор не "поднял"?
- Поднял, но он со стола упал...
Прочитайте ключ под 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 раздела ОС и Железо Реестр может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.