在C#WinForms应用程序中显示Flash内容

在C#WinForms应用程序中显示Flash内容

Displaying Flash content in a C# WinForms application

在C#WinForms应用程序中显示Flash内容的最佳方法是什么? 我想创建一个用户控件(类似于当前的PictureBox),该控件将能够显示图像和Flash内容。

能够从各种流而不是磁盘上的文件中加载Flash内容将是很棒的。


虽然我自己没有在Windows窗体应用程序中使用Flash对象,但我确实知道这是可能的。
在工具箱上的Visual Studio中,选择添加一个新组件。
然后在出现的新窗口中,选择" COM Components"选项卡以获取一个列表,您可以在其中找到" Shockwave Flash Object"

添加到工具箱后,只需使用该控件即可,就像使用Visual Studio中的其他"标准"控件一样。

三个简单的命令可用于与控件进行交互:

  • AxShockwaveFlash1.Stop()
  • AxShockwaveFlash1.Movie = FilePath&
    " \ FileName.swf"
  • AxShockwaveFlash1.Play()

我认为这全是自我解释。

It would be great to be able to load
the flash content from a stream of
sorts rather than a file on disk.

我刚刚看到您也在寻找一种从流中加载内容的方法,
并且因为我不太确定冲击波闪光对象是否有可能,所以我会给您另一个选择(实际上是两个)。

第一个是我建议您仅在必要时使用的组件,因为它使用了完整的" webbrowser组件"(也可作为额外的工具箱项目使用),就像尝试用火箭筒射击苍蝇一样。
当然,它将起作用,因为该控件将充当一个真正的浏览器窗口(实际上是Internet Explorer浏览器),但是它并不是真正按您需要的方式使用。

第二种选择是使用我刚发现的东西,以查找有关在Windows窗体中播放Flash内容的更多信息。 F-IN-BOX是一种商业解决方案,还将播放给定网站URL中的内容。 (提供的链接会将您定向到您必须使用的.NET代码)。


斯文,您得出的结论和我做的一样:我找到了Shockwave Flash对象,都是通过略有不同的途径,但是对于如何从磁盘/ URL上的文件以外的其他位置加载文件感到困惑。 F-IN-BOX虽然只是Shockwave Flash Object的包装,但似乎提供了更多功能,这可能对我有帮助!

用火箭筒射击苍蝇可能很有趣,但是嵌入式网络浏览器并不是我想要的。 :)

Adobe网站上有一个链接,内容涉及"在C#Windows应用程序中嵌入和与Macromedia Flash Player进行通信",但他们似乎已将其删除:(


推荐阅读