将新Microsoft Edge添加到Web浏览器控件?

时间:2015-08-02 15:22:12

标签: c# webkit webbrowser-control windows-10 microsoft-edge

带有Microsoft Edge的新Windows 10已经到货。我想问你,我怎样才能将它添加到我的网页浏览器控件中?我需要它,因为实际的Web浏览器控件不允许JavaScript和CSS3。

我曾经也将Chrome浏览器与项目WebKit和Awesomium一起添加,但他们不记得登录凭据(我的应用程序需要它们)所以我必须使用I.E.不幸的是

7 个答案:

答案 0 :(得分:24)

2018年5月更新:最后微软让它变得简单。 https://blogs.windows.com/msedgedev/2018/05/09/modern-webview-winforms-wpf-apps/

目前,新控件位于Windows Community Toolkit 3.0中,并包含在Toolkit.Win32.UI.Controls.dll中,您可能需要手动添加引用。

====== 我希望有人提到这一点,所以我要添加它,因为它看起来不会像webbrowser控件那样更新。

改为使用WebView控件。这使用EdgeHTML渲染引擎。这是WindowPresentation图层的一部分,但可以从WinForms链接,也可能是其他应用程序。您必须转换为UWP应用程序

import Windows.UI.Xaml.Controls.WebView

示例代码:https://code.msdn.microsoft.com/windowsapps/XAML-WebView-control-sample-58ad63f7

我还没有用WebView替换我的WebBrowser,但界面看起来很熟悉。

答案 1 :(得分:14)

更新如@ MartinKasztantowicz所述'回答,截至目前(2月中旬' 16),没有已知的方法来加载真正的边缘渲染引擎。 以下设置将控件设置为报告新用户代理,但使用旧引擎进行呈现。然而,对于例如它是有用的。说服网站关闭已弃用的IE黑客。

System.Windows.Forms.WebBrowser的浏览器版本由注册表项按每个应用程序控制。如果您的用户使用的是Windows 10,则可以通过添加以下密钥告诉控件 load fake Edge:

  • 对于64位应用程序,32位仅限Windows或当前用户:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] "Example.exe"=dword:00002ee1分别为[HKEY_CURRENT_USER\...]
  • 对于64位计算机上的32位应用程序(仅限计算机范围内):[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION] "Example.exe"=dword:00002ee1

有关更多信息和值,请查看相应的Microsoft Documentation

我刚刚测试过,得到了以下结果...不知道是否还有值报告Windows 10:

enter image description here

答案 2 :(得分:6)

是否所有人都忘记了Windows API库?要嵌入任何窗口,您只需要MoveWindowSetParent的组合。要隐藏标题栏,您可以使用SetWindowLong,如果您需要隐藏窗口周围的其他部分(例如地址栏),您可以轻松使用HwndHost

C ++嵌入记事本的示例:

@Scheduled(cron = "0 0/2 6-22 * * ?", zone = "America/Sao_Paulo")

不要误会我的意思,这很糟糕,但确实有效。

无论如何,微软已经such a feature now

答案 3 :(得分:3)

原来不可能做到这一点的答案现在已经过时了。

Microsoft最近发布了他们的基于Microsoft Edge的Webbrowser控件版本。他们将其称为“ Webview”,适用于WPF和Winforms。这是他们的官方announcement,其中包含2018年4月Windows博客中的一些入门信息。

也有API documentation

答案 4 :(得分:1)

使用使用嵌入式WebKit引擎的JavaFX。或者如果您陷入.NET,那么https://www.teamdev.com/dotnetbrowser

答案 5 :(得分:1)

要获得对Edge Chromium的全面支持,如本说明所述,WebView2控件似乎是Microsoft的最新产品。
https://docs.microsoft.com/en-us/microsoft-edge/webview2/

答案 6 :(得分:0)

我建议您使用eo.web浏览器。

https://www.essentialobjects.com/Products/WebBrowser/Default.aspx

它内部使用的是最新的chrome,免费且棒极了。试试看。