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画像が表示されます。
![]()
