Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IE8、Flash和WinForms WebBrowser控件_C#_Winforms_Internet Explorer 8 - Fatal编程技术网

C# IE8、Flash和WinForms WebBrowser控件

C# IE8、Flash和WinForms WebBrowser控件,c#,winforms,internet-explorer-8,C#,Winforms,Internet Explorer 8,我在表单上有一个WebBrowser控件,它正在加载一个带有flash控件的页面。由于升级到IE8,它不再工作。每次打开表单时,我都会收到安装Flash的提示。无论我选择从那里做什么,Flash都不会启动,所以我的页面被破坏了。当Flash作为嵌入式控件运行时,有没有关于如何让它在IE中工作的线索 如果我在我的应用程序之外的IE8中导航到此页面,该页面工作正常 您可以直接在WinForms应用程序中托管Flash ActiveX控件,而不必使用浏览器控件。我们在我们的应用程序中这样做,而且效果很

我在表单上有一个WebBrowser控件,它正在加载一个带有flash控件的页面。由于升级到IE8,它不再工作。每次打开表单时,我都会收到安装Flash的提示。无论我选择从那里做什么,Flash都不会启动,所以我的页面被破坏了。当Flash作为嵌入式控件运行时,有没有关于如何让它在IE中工作的线索


如果我在我的应用程序之外的IE8中导航到此页面,该页面工作正常

您可以直接在WinForms应用程序中托管Flash ActiveX控件,而不必使用浏览器控件。我们在我们的应用程序中这样做,而且效果很好。有一些怪癖,比如全屏模式下的ESC实际上不会退出全屏模式,但在大多数情况下都能正常工作


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

在深入研究之后,我终于找到了答案。我指责IE8是错误的,但我的实际问题是当我的windows应用程序作为64位应用程序运行时。Flash无法在此模式下加载(我以前也遇到过64位COM的问题),这就是我问题的根源。由于内存使用率高,一些人需要在64位模式下运行我的应用程序,如果他们的计算机支持的话。有人知道如何让WebBrowser控件加载32位IE控件作为底层activeX控件吗?是的,我知道这对每一个实际工作的人来说都是一个遥远的目标。谢谢据我所知,没有办法让你的64位应用程序承载32位WebBrowser控件。如果您直接调用CoCreateInstance来创建进程外IE实例,您可以尝试传递CLSCTX_ACTIVATE_32_BIT_服务器。托管页面是html+flash还是主要只是flash?有一个shell html文档承载flash控件全屏。该文档还创建了一些存根方法,这些存根方法调用WinForms应用程序向其发送消息。