你好,我得到了以下異常。創建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));'應該工作嗎? –