在CWinForms应用程序中显示Flash内容

时间:2020-03-05 18:37:29  来源:igfitidea点击:

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

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

解决方案:

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

添加到工具箱后,只需使用该控件即可,就像使用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.

我刚刚看到我们也在寻找一种从流中加载内容的方法,
而且由于我不太确定是否可以使用Shockwave Flash对象,因此我将为我们提供另一种选择(实际上是两种选择)。

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

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

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

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

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