Existe-t-il un moyen d'utiliser Google Chrome (ou Safari ou Firefox) comme navigateur dans une application C #? C # utilise désormais Internet Explorer, et le site Web qu'ils souhaitent utiliser dans ce programme ne fonctionne pas soutiens le.
Vous pouvez utiliser WebKit.NET . Il s'agit d'un wrapper C # pour WebKit, qui est le moteur de rendu utilisé par Chrome.
Vous pouvez utiliser GeckoFX pour intégrer Firefox
Je ne connais aucun complet Chrome composant, mais vous pouvez utiliser WebKit, qui est le moteur de rendu qui Chrome utilise. Le projet Mono a fait WebKit Sharp , ce qui pourrait fonctionner pour vous.
J'utilise Awesomium, je pense que c'est mieux que GeckoFX/WebKit http://awesomium.com
OpenWebKitSharp vous donne un contrôle total sur WebKit Nightly, qui est très proche du webkit en termes de performances et de compatibilité. Chrome utilise le moteur WebKit Chromium, tandis que WebKit.NET utilise Cairo et OpenWebKitSharp Nightly. Chromium devrait être le meilleur de ces versions, tandis qu'à la 2e place devrait venir Nightly et c'est pourquoi je suggère OpenWebKitSharp.
http://gt-web-software.webs.com/libraries.htm dans la section OpenWebKitSharp
J'ai pu le faire en utilisant CefSharp.
Voici quelques articles qui montrent cela en action:
1/3/2017 -> 3 janvier 2017
Bonjour, aujourd'hui, j'ai trouvé cet article pour y parvenir, l'article est intitulé "Création d'une interface HTML pour les applications Desktop .NET" et est destiné à intégrer un contrôle basé sur le chrome dans une application WPF. Cela m'a sauvé la journée.
https://www.infoq.com/articles/html-desktop-net
J'espère que cela aide quelqu'un d'autre.
REMARQUE: il est basé sur DotNetBrowser, voir le contrat de licence ici: https://www.teamdev.com/dotnetbrowser-licence-agreement
Essayez ceci: http://code.google.com/p/geckofx/
Jetez un œil à la bibliothèque DotNetBrowser . Il fournit des contrôles de navigateur WPF et WinForms basés sur Chromium, qui sont assez faciles à intégrer dans une application .NET. Il prend en charge toutes les normes Web modernes, y compris HTML5, CSS3 et JavaScript. La page rendue ressemble exactement à Google Chrome.
La bibliothèque hérite de l'architecture multi-processus de Chromium - chaque page Web est rendue dans un processus Chromium distinct, et l'application continuera de fonctionner même après le plantage du plug-in ou toute autre erreur inattendue se produisant sur la page Web.
Voici quelques autres fonctionnalités utiles fournies par DotNetBrowser: il est possible d'écouter les événements de chargement, de gérer l'activité réseau, de configurer le proxy, de simuler les actions des utilisateurs, de travailler avec les cookies, d'accéder et de modifier le DOM, d'écouter les événements du DOM, d'appeler JavaScript à partir de .NET et vice versa, utilisez une caméra Web et un microphone sur la page Web, configurez la communication WebRTC et plus .
Consultez Référence API pour plus de détails.
L'extrait de code ci-dessous montre comment créer un BrowserView, l'intégrer dans un formulaire et charger une URL:
using System.Windows.Forms;
using DotNetBrowser;
using DotNetBrowser.WinForms;
namespace WinForms.DotNetBrowser
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
BrowserView browserView = new WinFormsBrowserView();
Controls.Add((Control) browserView);
browserView.Browser.LoadURL("http://www.youtube.com");
}
}
}
Une fois que vous avez exécuté l'exemple ci-dessus, vous obtiendrez la sortie suivante:
La bibliothèque est commerciale. Les licences commerciales incluent des packages de support pour différentes tailles d'équipe. Il est également possible d'acheter le code source de la bibliothèque.
Outre sa propre page, le composant est disponible sous la forme package NuGet et package VSIX dans Visual Studio Marketplace.
Mise à jour 2016:
Malheureusement, la plupart des solutions ci-dessus sont obsolètes et ne sont plus maintenues.
Je peux suggérer 3 options supplémentaires qui sont encore activement développées:
Un composant .Net qui peut être utilisé pour intégrer le moteur Chrome dans votre application .Net. Basé sur CefGlue mais un peu plus rapide sur les mises à jour de la dernière version Chrome. Il existe également un support commercial option disponible qui pourrait être utile pour certains. Bien sûr, le composant lui-même est open source .
Un autre composant .Net qui peut être utilisé pour intégrer le moteur Firefox dans votre application .Net. Ceci est basé sur Geckofx mais contrairement à la version actuelle de Geckofx, cela fonctionnera avec une version normale de Firefox. Pour utiliser Geckofx, vous devrez créer Firefox vous-même. Encore une fois le support commercial est disponible mais le composant lui-même est entièrement open source .
Besoin de tous les différents navigateurs de votre application .Net? Quelle API Core BrowseEmAll vous pouvez intégrer Chrome, Firefox, Webkit et Internet Explorer dans votre application. Il s'agit d'un produit commercial , alors soyez averti.
(Divulgation complète: je travaille pour cette entreprise, alors prenez tout ce que je dis avec un grain de sel)
Mise à jour pour 2014:
J'utilise geckofx , un projet open source sain qui (au moment où j'écris) se tient à jour assez bien avec les dernières versions de Firefox.
Pour intégrer Chrome, vous pouvez envisager un autre projet open source d'apparence saine, Xilium.cefGlue , basé sur The Chromium Embedded Framework (CEF) .
Ces deux prennent en charge WPF et Winforms, et les deux projets prennent en charge .net et mono.