是否可以像WebView一样将Gecko或Webkit嵌入Windows窗体中?


69

我很想知道是否有Gecko.NET之类的东西;)我的意思是,就像我们可以嵌入WebView一样,这就是IE7在所有Windows Forms应用程序中的“实例”(并告诉它 navigateto(fancy_url);)。我很想使用Firefox或WebKit。

有人尝试过吗?

更新:请记住,尽管可以使用上述控件嵌入壁虎,但仍然无法打印在使用Gecko时。

2010年3月更新:仍然无法使用GeckoFX进行本机打印,但是根据您要尝试执行的操作,存在两种方法可能就足够了。请参阅:http : //geckofx.org/viewtopic.php?id=796更多信息,。

2013年10月更新:我不再从事Windows开发,因此对此我没有兴趣,但是似乎可以在以下位置找到Gecko的开发:https : //bitbucket.org/geckofx,并且它似乎是最近更新的。留给以后的Windows开发人员使用;)

2017年1月更新:我收到了一家名为TeamDev。他们创建了一个基于Chromium的.NET浏览器组件,称为“ DotNetBrowser”,该组件可用于在Windows Forms应用程序中显示现代网页。

直接引用电子邮件:

以下是有关组件的一些详细信息,可能会有所帮助:

  1. DotNetBrowser基于Chromium,因此支持HTML5,CSS3,JS和最新的Web标准。库的基础Chromium版本会定期更新。
  2. 该组件适用于WPF和Windows Forms桌面应用程序,并且适用于C#和VB.NET。
  3. 该图书馆已获得商业许可,但是为开源和学术项目提供了免费许可。

免责声明: 我没有使用过此DotNetBrowser,因为我不再进行Windows开发,但是如果您正在寻找解决方案,可能值得检查。

Answers:



10

当然有可能。您需要做的就是注册Mozilla ActiveX控件(我相信是mozctlx.dll),您可以将其作为任何ActiveX控件拖到窗体上。编程接口与IE相似(尽管不完全相同),在某些情况下,甚至可以使用Microsoft.MSHTML.dll托管库进行控制。

我相信这是与Firefox打包在一起的。如果没有,您也可以仅从Mozilla获得可嵌入的位。只需在Google中搜索Mozilla ActiveX控件或Mozilla嵌入C#,就会带您正确的道路。


1
下面的答案应该是答案。GeckoFX是更新的.NET包装器,ActiveX控件自2005
Sire 2010年

9

GeckoFX不再被更新。替代方法是Se7en Soft提供的MozNet XulRunner包装器。MozNet具有GeckoFX所没有的大量功能,并且正在积极地更新和维护。


8
MozNet的EULA与LGPL相抵触,使其成为非法。不要使用它。
EgeÖzcan

更糟糕的是,现在不再有免费的演示。不太可能会购买IE插件组件的替代产品,他们可以验证它能够执行您用IE组件无法完成的任何任务
LairdPleng 2013年

2
活跃的GeckoFX开发项目可在以下位置找到:bitbucket.org/geckofx
2013年

作者不再支持MozNet。
Tony_Henrich

8

我想指出,对于所有希望将Gecko嵌入其应用程序的人,GeckoFX项目似乎已被其创建者(Skybound Software)放弃了。MozNET以前是基于GeckoFX的,但sorta'接了球并跑了。它具有完整的打印,打印预览功能,并允许您通过本机Windows打印对话框进行全部设置,甚至更多


1
GeckoFX正在积极发展在:到位桶
韦恩

作者不再支持MozNet。
Tony_Henrich '17


4

2016年更新:

浏览EmAll.Gecko

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

(充分披露:我在这家公司工作,所以我要说的一丁点都保留下来)


可能是一个愚蠢的问题,但是最终用户的计算机上是否必须安装特定版本的Firefox?
colmde

3

@马丁:是的,亚当·洛克的版本已经过时了。但这是因为不需要单独的分发。现在,它是使用Mozilla代码库的其余部分构建的。

如果您下载Prism(即XulRunner),将为您提供可以根据需要进行自定义的基础,其中包括控件的最新版本(在\ Prism \ xulrunner目录中,您将找到mozctlx.dll)。 。

@Greg:实际上,它是一个ActiveX控件。顺便说一下,所有ActiveX控件都是COM控件。ActiveX基于COM构建。


我想将winform数据传输到Firefox浏览器。可以通过OpenWebKitSharp类库实现,也可以用于FF 26.0版本

3

截至2011年10月30日,自以前的帖子开始,有新信息要添加。具体来说,在Skybound停止维护其版本的同时,至少有一个积极维护的,免费的,开源的fork。

我正在用Hindle的叉子在BitBucket上,借助其分析XpCom idls和创建c#包装程序的工具,它迅速更新了对每个新版本的Firefox / Gecko的支持。

有关其他选择的概述,请参见这篇文章


2

另外,如果您发现自己使用的是Gtk而不是Windows.Forms,则可以使用大量的webkit-sharp,从而可以轻松地将WebViews嵌入到Gtk#应用程序中。


2

我相信“ Gecko FX” [1]是您需要的东西。

从网站报价

“”“ GeckoFX是一个用干净的带注释的C#语言编写的Windows Forms控件,该控件将Mozilla Gecko浏览器控件嵌入到任何Windows Forms Application中。它还包含一个简单的类模型,该类模型提供对HTML和CSS DOM的访问。

1)我无法发布链接,因为“不允许新用户添加超链接”在Google代码中搜索“ geckofx”。


可通过以下网址获得GeckoFX的主动开发的矢量:bitbucket.org/geckofx
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.