WebView2 応用テクニック
Faviconの画像を取得
表示したページのFavicon画像を取得します。
webView2.CoreWebView2.GetFaviconAsync
メソッドでFavicon画像のStreamを取得します。
Favicon画像が変更されたタイミングでCoreWebView2.FaviconChanged
イベントが発生します。
サンプル
FormにWebView2とPictureBoxを配置します。
Public Class Favicon Private Async Sub Favicon_Load(sender As Object, e As EventArgs) Handles MyBase.Load Await InitializeAsync() AddHandler webView2.CoreWebView2.FaviconChanged, AddressOf CoreWebView2_FaviconChanged webView2.CoreWebView2.Navigate("https://www.google.co.jp/") End Sub Private Async Sub CoreWebView2_FaviconChanged(sender As Object, e As Object) Using fs = Await webView2.CoreWebView2.GetFaviconAsync(Microsoft.Web.WebView2.Core.CoreWebView2FaviconImageFormat.Png) PictureBox1.Image = Image.FromStream(fs) End Using End Sub Private Async Function InitializeAsync() As Task Await webView2.EnsureCoreWebView2Async(Nothing) End Function End Class
public partial class Favicon : Form { public Favicon() { InitializeComponent(); } private async void Favicon_Load(object sender, EventArgs e) { await InitializeAsync(); webView2.CoreWebView2.FaviconChanged += CoreWebView2_FaviconChanged; webView2.CoreWebView2.Navigate("https://www.google.co.jp/"); } private async void CoreWebView2_FaviconChanged(object? sender, object e) { using var fs = await webView2.CoreWebView2.GetFaviconAsync(Microsoft.Web.WebView2.Core.CoreWebView2FaviconImageFormat.Png); pictureBox1.Image = Image.FromStream(fs); } private async Task InitializeAsync() { await webView2.EnsureCoreWebView2Async(null); } }
PictureBoxにFavicon画像が表示されます。