在CWinForms应用程序中显示Flash内容
在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进行通信",但他们似乎已将其删除:(