Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Automation server registrieren (https://www.delphipraxis.net/154857-automation-server-registrieren.html)

bwolf 28. Sep 2010 11:08

Automation server registrieren
 
Hi,

ich habe ein Programm das einen automation server beinhaltet.
Diesen kann ich ja mit /regserver registrieren.

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. Hat jemand eine Idee wie das umgesetzt sein könnte?

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?


Danke für eure Hilfe!

shmia 28. Sep 2010 12:09

AW: Automation server registrieren
 
Zitat:

Zitat von bwolf (Beitrag 1052564)
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
Delphi-Quellcode:
constructor TComServer.Create
statt.

Zitat:

Zitat von bwolf (Beitrag 1052564)
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');

bwolf 28. Sep 2010 12:15

AW: Automation server registrieren
 
Super, vielen Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz