IE8、Flash和WinForms WebBrowser控件

5

我在一个窗体上有一个WebBrowser控件,它正在加载一个带有flash控件的页面。自从升级到IE8后,它就不再工作了。每次我打开我的窗体时,都会提示我安装Flash。无论我从那里选择什么操作,Flash都无法启动,因此我的页面就瘫痪了。有没有关于如何在嵌入式控件运行时使Flash在IE中工作的线索?

如果我在我的应用程序外部使用IE8浏览器访问这个页面,它可以正常工作。


我在深入研究后已经弄清楚了这个问题。我错怪了IE8,但我的实际问题是当我将我的Windows应用程序作为64位应用程序运行时。Flash无法在此模式下加载(我以前也遇到过64位COM的问题),这是我的问题的根源。由于高内存使用率,一些人需要在支持它的计算机上以64位模式运行我的应用程序。有没有人知道如何使WebBrowser控件将32位IE控件作为底层ActiveX控件进行加载?是的,我知道这是一个长期的尝试,可能不会真正起作用。谢谢。 - Kleinux
据我所知,不能让你的64位应用程序托管32位的WebBrowser控件。如果您直接调用CoCreateInstance来创建一个独立进程的IE实例,可以尝试传递CLSCTX_ACTIVATE_32_BIT_SERVER参数。 - EricLaw
托管页面是HTML+Flash还是主要只是Flash? - Samuel Neff
有一个Shell HTML文档,用于托管Flash控件全屏显示。该文档还创建了一些存根方法来调用WinForms应用程序,向其发送消息。 - Kleinux
1个回答

1

您可以直接在WinForms应用程序中托管Flash ActiveX控件,而不是使用浏览器控件。我们在我们的应用程序中这样做,并且它有效。有一些小问题,例如全屏模式下的ESC实际上无法退出全屏,但大多数情况下都可以正常工作。

还有一个API(但文档很差)可用于SWF和WinForms应用程序之间的通信。不过我们自己没有使用过。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接