您好我得到以下异常。
检索具有CLSID {6BF52A4F-394A-11D3-B153-00C04F79FAA6}的组件的COM类工厂因以下错误而失败:80040154未注册类(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。
当我尝试用流程代码创建o COM对象时(在c#中)
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);
答案 0 :(得分:1)
COM使用GUIDs
来标识类和接口。看起来您正在使用名为IID
的接口ID(IWMPPlayer
)而不是类ID(CLSID
)。看看你是否可以找到玩家对象的相应类,并使用GUID
。
更新:我为你查了课。得到这样的CLSID
......
Guid guid_WMPPlayer = typeof(WMPLib.WindowsMediaPlayer).GUID;
...然后将此CLSID
传递给Type.GetTypeFromCLSID
。
更新2:我可以检查一下,你肯定需要使用这些GUID吗? 为什么不做......
instancePlayer = new WMPLib.WindowsMediaPlayer();
...