首页  编辑  

没有注册的COM对象如何创建

Tags: /超级猛料/COM、ActiveX,DDE/COM_ DCOM/   Date Created:
没有注册的COM对象如何创建
如果COM对象没有在注册表中注册,那么按照下面的方法创建它
function CreateComObjectFromDll(CLSID: TGUID; DllHandle: THandle): IUnknown;
var
 Factory: IClassFactory;
 DllGetClassObject: function(const CLSID, IID: TGUID; var Obj): HResult;
 stdcall;
begin
 DllGetClassObject := GetProcAddress(DllHandle, 'DllGetClassObject');
 if Assigned(DllGetClassObject) then
 begin
   DllGetClassObject(CLSID, IClassFactory, Factory);
   Factory.CreateInstance(nil, IUnknown, Result);
 end;
end;