webbrowser para navegador microsoft instalar descargar c# webkit webbrowser-control windows-10 microsoft-edge

c# - para - ¿Agregar nuevo Microsoft Edge al control del navegador web?



navegador microsoft edge para windows 7 (5)

¿Han olvidado todos las bibliotecas de la API de Windows? Para incrustar CUALQUIER ventana, simplemente necesita una combinación de MoveWindow y SetParent . Para ocultar la barra de título puede usar SetWindowLong y si necesita ocultar otras partes alrededor de la ventana (por ejemplo, la barra de direcciones) puede usar HwndHost fácilmente.

No me malinterpretes, es hacky, pero funciona.

De todos modos, Microsoft ha hecho https://blogs.windows.com/msedgedev/2018/05/09/modern-webview-winforms-wpf-apps/

El nuevo Windows 10 con Microsoft Edge ha llegado. Quiero preguntarle, ¿cómo puedo agregarlo al control de mi navegador web? Lo necesito porque el control del navegador web real no permite JavaScript y CSS3.

También solía agregar el navegador Chrome con los proyectos WebKit y Awesomium, pero no recordaban las credenciales de inicio de sesión (los necesito para mi aplicación), así que tengo que usar IE desafortunadamente.


ACTUALIZACIÓN mayo 2018: FINALMENTE Microsoft lo ha hecho fácil. https://blogs.windows.com/msedgedev/2018/05/09/modern-webview-winforms-wpf-apps/

Por ahora, el nuevo control se encuentra en Windows Community Toolkit 3.0 y se encuentra en Toolkit.Win32.UI.Controls.dll, que puede necesitar agregar manualmente una referencia.

====== Desearía que alguien hubiera mencionado esto, así que lo agregaré porque no parece que el control del navegador web se actualice alguna vez.

Use el control WebView en su lugar. Esto usa el motor de renderización EdgeHTML. Esto es parte de la capa WindowPresentation pero es posible vincular desde WinForms y presumiblemente con otras aplicaciones. Debes convertir a una aplicación UWP

import Windows.UI.Xaml.Controls.WebView

Código de ejemplo: https://code.msdn.microsoft.com/windowsapps/XAML-WebView-control-sample-58ad63f7

Todavía no he reemplazado mi WebBrowser con WebView, pero la interfaz parece bastante familiar.


Lamentablemente, parece que actualmente no hay forma de utilizar Edge en un control de webbrowser de MS sin utilizar complementos de terceros. Si bien la "solución" propuesta para añadir dword: 00002ee1 a FEATURE_BROWSER_EMULATION hace que el navegador web (falsamente) informe a Edge / 12.9200_AGENT como USER_AGENT, de hecho, todavía utiliza el motor Trident para representar el contenido web. Parece que Microsoft planeó admitir a Edge en el control del webbrowser pero no se completó y se olvidó de sacar la clave de emulación correspondiente. Puede verificar esto navegando a http://html5test.com/ donde el control del webbrowser obtiene puntajes entre 342 y 347 puntos (lo mismo que IE11), mientras que Edge obtiene 397 puntos.



ACTUALIZACIÓN Como se indica en @MartinKasztantowicz ''respuesta, a partir de ahora (mediados de febrero ''16) no hay forma conocida de cargar el motor de representación Edge real. A continuación, se establece el control para informar al nuevo agente de usuario pero se usa el antiguo motor para renderizar . Sin embargo, es útil para, por ejemplo, persuadir a los sitios para que desactiven los ataques de IE obsoletos.

La versión de navegador de System.Windows.Forms.WebBrowser se controla por aplicación mediante una clave de registro. Si sus usuarios están en Windows 10, puede indicarle al control que cargue Edge falso agregando la siguiente clave:

  • Para aplicaciones de 64 bits, Windows de 32 bits solo o usuario actual: [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Main/FeatureControl/FEATURE_BROWSER_EMULATION] "Example.exe"=dword:00002ee1 respectivamente [HKEY_CURRENT_USER/...]
  • Para aplicaciones de 32 bits en máquinas de 64 bits (solo para toda la máquina): [HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Internet Explorer/Main/FeatureControl/FEATURE_BROWSER_EMULATION] "Example.exe"=dword:00002ee1

Para obtener más información y valores, consulte la Documentación de Microsoft correspondiente

Acabo de probar y obtuve el siguiente resultado ... no sé si existen valores para informar también a Windows 10: