Главная страница | назад





Article #15041: Locating the servers available in the registry

 Question and Answer Database
FAQ41D.txt Locating the servers available in the registry
Category :DCOM/MultiTier/ActiveForm
Platform :All
Product :Delphi 3.x
Question:
How do I locate the application servers available in the
registry of the machine?
Answer:
Read the registry key under HKEY_CLASSES_ROOT\CLSID\* looking
for keys that have a subkey "Borland DataBroker". These
entries are application servers. Here's an example that
loads application server names to a Listbox.
procedure TForm1.FormCreate(Sender: TObject);
var
uses Registry;
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;
7/16/98 4:31:28 PM

Last Modified: 01-SEP-99