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/)
-   -   Feststellen Auslesen ob ActiveX Control registriert (https://www.delphipraxis.net/169616-feststellen-auslesen-ob-activex-control-registriert.html)

DSCHUCH 1. Aug 2012 07:28

Feststellen Auslesen ob ActiveX Control registriert
 
Hoi, ich versuche gerade herauszufinden wie ich festellen kann, ob ein ActiveX Control bereits registriert ist. Bei Google findet man zwar viel aber genau ist das Problem. Evtl weiß es ja jemand ad hoc?

Thx, Daniel

Morphie 1. Aug 2012 07:39

AW: Feststellen Auslesen ob ActiveX Control registriert
 
mir fällt da erstmal die -zugegeben unsaubere- Variante ein, versuchen das Control zu erzeugen (CreateOleObject?).
Das ganze in einem Try-Except-Block. Im Except-Fall ist der Rückgabewert halt false, ansonsten true...

edit: alles ungetestet... habe kein Delphi hier

Bernhard Geyer 1. Aug 2012 08:07

AW: Feststellen Auslesen ob ActiveX Control registriert
 
Zitat:

Zitat von Morphie (Beitrag 1176527)
mir fällt da erstmal die -zugegeben unsaubere- Variante ein, versuchen das Control zu erzeugen (CreateOleObject?).
Das ganze in einem Try-Except-Block. Im Except-Fall ist der Rückgabewert halt false, ansonsten true...

Ist aber die einzige Lösung um 100% festzustellen ob es nicht nur installiert ist sondern auch funktioniert.
Ansonsten halt die Classs-ID in der Registry suchen.

Andreas L. 1. Aug 2012 11:51

AW: Feststellen Auslesen ob ActiveX Control registriert
 
Folgende Funktion stammt von Luckie:

Delphi-Quellcode:
function ProgIDExists(const ProgID:WideString):Boolean;
var
  tmp : TGUID;
begin
  Result := Succeeded(CLSIDFromProgID(PWideChar(ProgID), tmp));
end;

// Beispiel:
// Gibt zurück ob das Mozilla ActiveX Objekt installiert ist
if ProgIDExists('Mozilla.Browser.1') then
  ShowMessage('Ist installiert :-)');

himitsu 2. Aug 2012 13:37

AW: Feststellen Auslesen ob ActiveX Control registriert
 
Waber was nimmt man da?
Delphi-Quellcode:
ProgIDExists('Mozilla.Browser.1')
,
Delphi-Quellcode:
ProgIDExists('Mozilla.Browser.2')
, ..., oder doch eher
Delphi-Quellcode:
ProgIDExists('Mozilla.Browser')
(von der Erstinstallation)

Einiges davon lassen die Deinstallationsprogramme auch gerne zurück, oder das ActiveX ist defekt, oder ...

p80286 2. Aug 2012 14:57

AW: Feststellen Auslesen ob ActiveX Control registriert
 
Dann schau doch in die Registry!

aber im Ernst, zumindestens bei den Office-Produkten verweisen die alle auf einen Punkt, von daher sollte es egal sein.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:01 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