Nun habe folgende Fragen:
1. Ich habe hier eine Anwendung die ich nicht selber geshrieben habe. Diese beinhaltet ebenfalls einen automation server.
Wenn man das Programm zum 1. startet, wird dieser automatisch registriert. Allerdings kann ich im Quellcode nicht sehen, wie das ausgelösst wird.
In der
VCL findet das in der
Unit ComServ innerhalb von
constructor TComServer.Create
statt.
2. Wie prüft man am besten ob der Server bereits registriert wurde?
Einfach in der Registry nachschauen ob es einen Eintrag für die entsprechende
CLSID gibt?
Im Einfachsten prüft man die ProgId.
Delphi-Quellcode:
function ProgIDExists(const ProgID:WideString):Boolean;
var
tmp : TGUID;
begin
Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), tmp));
end;
if ProgIDExists('Word.Application') then
ShowMessage('MS Word ist instaliert');