在winform中使用COM组件时出错

时间:2013-03-28 17:57:58

标签: c# winforms .net-4.0 vlc libvlc

我正在c#.net 4上构建一个Winform应用程序。我正在尝试使用VLC插件作为工具箱COM组件。该组件已成功添加到工具箱中。但是,当我使用它时会出现错误:

  

无法创建组件'AxHost'。错误消息如下:   'System.Runtime.InteropServices.COMException(0x80029C4A):错误   加载类型库/ DLL。 (HRESULT的例外情况:   0x80029C4A(TYPE_E_CANTLOADLIBRARY)

我在32位系统上尝试过相同的功能,但效果很好。此错误发生在64位系统中。尝试将构建更改为32位和64位。

我还尝试使用regserv32注册DLL。但我不确定我是否正在注册正确的DLL。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

版本2.x的VLC不是托管代码友好的,除非它被重新编译为共享并作为可执行服务器运行(以及其他问题)。而不是重新构建插件,只需使用较旧的插件。

  1. 在此下载V 1.1.9:http://download.videolan.org/pub/videolan/vlc/1.1.9/win32/
  2. 我建议卸载现有的VLC,然后安装上面的VLC(使用activeX选项)。
  3. 使用CMD和Regsvr32以及activeX文件夹注册控件(AXVLC.DLL),如下所示:REGSVR32 C:\ WINDOWS \ AXVLC.DLL
  4. 要记住一些提示:

    1. 如果出现播放错误,您可能无法访问这些库。它们位于Plugins文件夹中。我相信你可以将文件夹复制到activeX文件夹。
    2. 我听说你还需要将libVLC.dll复制到同一个文件夹。
    3. 您需要先将媒体文件添加到播放列表中,然后才能播放。

答案 1 :(得分:0)

发现这个旧线程就像现在它的2018年5月一样,我仍然遇到了这个问题。事实证明,因为我已经安装了64位版本的VLC,所以它不会起作用。需要安装32位版本3.02和activex然后工作。

相关问题