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

Is it possible to Embed Gecko or Webkit in a Windows Form just like a WebView?

提问人:Martin Marconcini 提问时间:8/25/2008 最后编辑:Martin Marconcini 更新时间:11/28/2017 访问量:96145

问:

我很想知道是否有 Gecko.NET ;)我的意思是,就像我们可以嵌入一个 WebView,它是任何 Windows 窗体应用程序中 IE7 的“实例”(并告诉它)。我很想使用Firefox或WebKit。navigateto(fancy_url);

有人试过这个吗?

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

2010 年 3 月更新:仍然无法使用 GeckoFX 进行本地打印,但是有几种方法可能就足够了,具体取决于您要执行的操作。 有关详细信息,请参阅:http://geckofx.org/viewtopic.php?id=796

2013 年 10 月更新:我不再做 Windows 开发,所以我对此不感兴趣,但似乎可以在这里找到 Gecko 的开发:https://bitbucket.org/geckofx,它似乎最近更新了。将此留待将来的 Windows 开发人员;)

2017 年 1 月更新:我收到了一封来自一家名为 TeamDev 的公司的电子邮件。他们创建了一个名为“DotNetBrowser”的基于 Chromium 的 .NET 浏览器组件,该组件可用于在 Windows 窗体应用程序中显示新式网页。

要直接引用电子邮件:

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

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

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

C# .NET Winforms WebKit Gecko

评论


答:

10赞 TheSmurf 8/25/2008 #1

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

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

评论

1赞 Sire 1/20/2010
下面的答案应该是答案。GeckoFX 是一个更新的 .NET 包装器,ActiveX 控件自 2005 年以来一直没有更新。
2赞 wfarr 8/26/2008 #2

此外,如果你发现自己使用的是Gtk而不是Windows.Forms,那么有一个webkit-sharp的压缩包,可以很容易地将WebView嵌入到Gtk#应用程序中。

3赞 TheSmurf 8/26/2008 #3

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

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

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

评论

0赞 1/2/2014
我想将 winform 数据传输到 Firefox 浏览器。可以通过 OpenWebKitSharp 类库也可以适用于 FF 26.0 版本
49赞 HS. 8/28/2008 #4

http://code.google.com/p/geckofx/

这是一个不错的.NET包装版的Gecko

2赞 garthy 5/19/2009 #5

I Belive “Gecko FX”[1] 是你需要的东西。

从网站引用

""" GeckoFX 是一个用干净的注释 C# 编写的 Windows 窗体控件,它将 Mozilla Gecko 浏览器控件嵌入到任何 Windows 窗体应用程序中。它还包含一个简单的类模型,提供对 HTML 和 CSS DOM 的访问。 """

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

评论

0赞 Przemysław Michalski 6/14/2013
GeckoFX的活跃开发版本可在以下网址获得: bitbucket.org/geckofx
9赞 Scott 2/18/2011 #6

GeckoFX 不再更新。另一种选择是 Se7en Soft 的 MozNet XulRunner 包装器。MozNet 拥有 GeckoFX 所没有的大量功能,并且正在积极更新和维护。

评论

8赞 Ege Özcan 12/14/2011
MozNet 的 EULA 与 LGPL 相矛盾,使其成为非法的。不要使用它。
0赞 LairdPleng 4/14/2013
更糟糕的是,现在不再有免费的演示。不太可能购买 IE 插件组件的替代品,他们可以验证它是否能够执行您无法使用 IE 组件完成的任何任务
2赞 Przemysław Michalski 6/14/2013
GeckoFX的积极开发项目可在以下网址获得: bitbucket.org/geckofx
0赞 Tony_Henrich 7/23/2017
作者不再支持 MozNet。
8赞 Scott 2/22/2011 #7

我只想指出,对于所有希望将 Gecko 嵌入到他们的应用程序中的人来说,GeckoFX 项目似乎已被其创建者(Skybound Software)放弃。MozNET虽然以前基于GeckoFX,但有点像捡起球并带着它跑。它具有打印、打印预览的全部功能,并允许您通过本机 Windows 打印对话框进行设置,甚至 - 以及更多

评论

1赞 Wayne 4/2/2015
GeckoFX 正在积极开发:bitbucket
0赞 Tony_Henrich 7/23/2017
作者不再支持 MozNet。
4赞 George 10/7/2011 #8

OpenWebKitSharp 是 WebKit 引擎(每晚)的包装器,非常先进。请看这里(OpenWebKitSharp 部分): http://code.google.com/p/open-webkit-sharp/

评论

0赞 Vin 4/11/2012
迄今为止,最好的 WebBrowser 控件可以满足 .Net 的非 IE 需求
1赞 tmighty 6/27/2013
OpenWebkitSharp 被废弃,因此毫无用处。现有的错误不再被修复,人们不能忍受它们。
3赞 John Hatton 10/31/2011 #9

截至 2011 年 10 月 30 日,自前几篇文章发布以来,有新信息需要添加。具体来说,虽然 Skybound 停止维护他们的版本,但至少有一个积极维护的、免费的、开源的分支可用。

我在 BitBucket 上使用 Hindle 的分支,凭借他的工具解析 XpCom idl 并创建 c# 包装器,它快速更新,支持每个新版本的 Firefox/Gecko。

有关其他选择的概述,请参阅此帖子

4赞 daniel.herken 2/13/2016 #10

2016年更新:

浏览EmAll.Gecko

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

(全面披露:我在这家公司工作,所以对我所说的一切持保留态度)

评论

0赞 komodosp 11/28/2020
这可能是一个愚蠢的问题,但是是否必须在最终用户的机器上安装特定版本的Firefox?