【发布时间】:2023-04-05 15:06:01
【问题描述】:
我在一个表单上有一个 WebBrowser 控件,它正在加载一个带有 Flash 控件的页面。升级到 IE8 后就不能用了。每次我打开我的表单时,我都会收到安装 Flash 的提示。无论我选择从那里做什么 Flash 都不会启动,所以我的页面被破坏了。关于如何让 Flash 作为嵌入式控件运行时在 IE 中工作的任何线索?
如果我在应用程序之外的 IE8 中导航到此页面,则该页面可以正常工作。
【问题讨论】:
-
在深入研究之后,我已经能够弄清楚这一点。我错怪 IE8,但我的实际问题是当我的 Windows 应用程序作为 64 位应用程序运行时。 Flash 在这种模式下无法加载(我以前也遇到过 64 位 COM 的问题),这就是我的问题的根源。由于高内存使用率,如果他们的计算机支持,某些人需要在 64 位模式下运行我的应用程序。有谁知道如何让 WebBrowser 控件加载 32 位 IE 控件作为底层的 activeX 控件?是的,我知道这对每一个实际工作来说都是一个远大的目标。谢谢
-
据我所知,不,没有办法让您的 64 位应用程序托管 32 位 WebBrowser 控件。如果您直接调用 CoCreateInstance 来创建进程外 IE 实例,您可以尝试传递 CLSCTX_ACTIVATE_32_BIT_SERVER。
-
托管页面是 html + flash 还是主要只是 flash?
-
有一个 shell html 文档,它承载了 flash 控制全屏。该文档还创建了一些调用 WinForms 应用程序以向其发送消息的存根方法。
标签: c# winforms internet-explorer-8