你好,我得到了以下异常。创建COM对象
Retrieving the COM class factory for component with CLSID {6BF52A4F-394A-11D3-B153-00C04F79FAA6} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
当我尝试创建与流代码(在C#)○COM对象
Object instancePlayer = null;
Guid guid_IWMPPlayer = typeof(WMPLib.IWMPPlayer).GUID;
Guid guid_IUnknown = new Guid("00000000-0000-0000-C000-000000000046");
Type type = Type.GetTypeFromCLSID(guid_IWMPPlayer);
instancePlayer = Activator.CreateInstance(type);
COM区分类和接口。就像.NET一样,你不能创建一个接口的实例。你的代码没有任何意义,它只是一个断言'Type type = typeof(WMPLib.IWMPPlayer)'。尝试使用后期绑定,然后仍然使用早期绑定的接口类型也没有意义。我看不到这个代码的意图。使用ProgId进行后期绑定。 –
我在代码上得到异常:instancePlayer = Activator.CreateInstance(type); – Longit644
当然可以。你想创建一个接口的实例,而不是实现。你的框架如何知道你想要哪个实现?你如何想象一个像'var object = Activator.CreateInstance(typeof(IDisposable));'应该工作吗? –