Mega Code Archive

 
Categories / Delphi / Activex OLE
 

Check if activex is installed on a target machine

How to check if ActiveX is installed on a target machine Answer: Solve 1: Use the CLSIDFromProgID method: { ... } var strOLE: string; begin strOLE = "YourCOMServer.Application" {your ProgID} if (CLSIDFromProgID(PWideChar(WideString(strOLE), ClassID) = S_OK) then begin { ... } end; end; Solve 2: Check the registry: { ... } const cKEY = '\SOFTWARE\Classes\CLSID\%s\InprocServer32' var sKey: string; sComServer: string; exists: boolean; Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; sKey := format(cKEY, [GuidToString(ClassID)]); if Reg.OpenKey(sKey, False) then begin sComServer := Reg.ReadString(''); if FileExists(sComServer) then begin { ... } end; end; finally Reg.free; end; end;