c# – 我的第一个COM导入
发布时间:2020-12-15 21:22:33 所属栏目:百科 来源:网络整理
导读:我有一个带有以下声明的.h文件: ////////////////////////////////////////////////////////////////////////////////// Syntek Plug-In Custom Control GUIDs. //////////////////////////////////////////////////////////////////////////////////// {59
我有一个带有以下声明的.h文件:
//////////////////////////////////////////////////////////////////////////////// // Syntek Plug-In Custom Control GUIDs. // //////////////////////////////////////////////////////////////////////////////// // {59DF6360-6F14-4472-82B6-6EAB971EEFAD} DEFINE_GUID(CLSID_IStkCustomControl,0x59DF6360,0x6F14,0x4472,0x82,0xB6,0x6E,0xAB,0x97,0x1E,0xEF,0xAD); // {59DF6361-6F14-4472-82B6-6EAB971EEFAD} DEFINE_GUID(CLSID_IStkCustomControl_PropertyPage,0x59DF6361,0xAD); // Custom Control Interfaces. MIDL_INTERFACE("59DF6360-6F14-4472-82B6-6EAB971EEFAD") IStkCustomControl : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Get(PKSPROPERTY_STK_CUSTOM_CONTROL_S pStkCustomControl) = 0; virtual HRESULT STDMETHODCALLTYPE Set(PKSPROPERTY_STK_CUSTOM_CONTROL_S pStkCustomControl) = 0; }; 我想将接口IStkCustomControl移植到C#.到目前为止,我有这个C#代码: Guid guid = new Guid(0x59df6360,0x6f14,0xb6,0x6e,0xab,0x1e,0xef,0xad); Type type = Type.GetTypeFromCLSID(guid); // line 2 object obj = Activator.CreateInstance(type); 执行第2行时,我得到了异常
这里出了什么问题? 更新:我发现IStkCustomControl接口是在一个名为StkProp.ax的文件中实现的.我试过运行AxImp.exe StkProp.ax,但这给了我
解决方法
通常,类型信息嵌入在实现该对象的DLL中.使用OLEView确保.如果是,则设置对该DLL的COM引用并使用自动包装器.
将类型信息作为独立的TLB文件是九十年代末. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |