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;