如何将WebBrowser从IE更改为Firefox

我正在使用System.Windows.Forms.WebBrowser处理C#.NET应用程序。

IE没有正确响应,所以我想改为Mozilla Firefox。

我怎样才能做到这一点?

你不能。

WebBrowser控件是IE ActiveX控件的包装器,不能轻易地替换为Mozilla。

但是,您可以查看Mozilla ActiveX控件

我只是看着你可能感兴趣的GeckoFX和WebKit.NET 。 如果要更改默认WebBrowser控件,我不相信这是可能的。

您将要使用此项目替换WebBrowser控件: http : //code.google.com/p/geckofx/

System.Windows.Forms.WebBrowser只是ActiveX控件的托管包装器: SHDocVw.WebBrowser 。 包装器并非没有错误,可能无法提供所需的可扩展性。 如果你有一个有效的解决方案我不建议将它移植到使用System.Windows.Forms.WebBrowser

IE不是基于.Net所以你不能使用System.Windows.Forms.WebBrowser来控制IE中的任何东西。 事实上,我甚至不建议在.Net中连接BHO,因为只有一个版本的CLR可以在IE进程中运行,而你的BHO可以在意外版本的CLR上运行。

不确定这是否可行/容易,但mono使用Gecko#来实现其System.Windows.Forms.WebBrowser的版本。 也许你可以重用它或从该代码中删除一些可用的部分?

您无法使用System.Windows.Forms.WebBrowser控件实现此目的。 似乎有办法将Gecko渲染引擎嵌入到WinForms应用程序中。

看到这个问题: 用更好的浏览器替换.NET WebBrowser控件,比如Chrome?

2016年更新:

还有3个我可以建议的其他选项仍在积极开发中:

1. BrowseEmAll.Cef

一个.Net组件,可用于将Chrome引擎集成到.Net应用程序中。 基于CefGlue,但对最新Chrome版本的更新速度要快一些。 此外,还有一个商业支持选项可供一些人使用。 当然组件本身就是开源的

2. BrowseEmAll.Gecko

另一个.Net组件,可用于将Firefox引擎集成到.Net应用程序中。 这是基于Geckofx,但与当前版本的Geckofx不同,这将适用于Firefox的正常发布版本。 要使用Geckofx,您需要自己构建Firefox。 再次提供商业支持 ,但组件本身是完全开源的

3. BrowseEmAll Core API

需要.Net应用程序中的所有不同浏览器? 您可以 BrowseEmAll Core API 与Chrome,Firefox,Webkit和Internet Explorer集成到您的应用程序中。 这是商业产品,但请注意。

(完全披露:我为这家公司工作,所以我带着一粒盐说的话)