1

您好,我收到以下异常。

由于以下错误,检索具有 CLSID {6BF52A4F-394A-11D3-B153-00C04F79FAA6} 的组件的 COM 类工厂失败:80040154 未注册类(HRESULT 异常:0x80040154 (REGDB_E_CLASSNOTREG))。

当我尝试使用流代码(在 c# 中)创建 o 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);
4

1 回答 1

1

COM 用于GUIDs识别类和接口。看起来您正在使用IID调用的接口 ID ()IWMPPlayer而不是类 ID ( CLSID)。看看您是否可以找到播放器对象的相应类并使用GUID它。

更新:我为你查了课程。得到CLSID这样的...

Guid guid_WMPPlayer = typeof(WMPLib.WindowsMediaPlayer).GUID;

...然后将其传递CLSIDType.GetTypeFromCLSID.

更新 2:我可以检查一下,您肯定需要使用这些 GUID 吗?为什么不干...

instancePlayer = new WMPLib.WindowsMediaPlayer();

...?

于 2013-04-17T13:08:08.800 回答