1.これまでの以下1、2、3をおさらいして、新しくプロジェクトを作成します。
- WinFormsアプリを作成して、NuGetパッケージを使ってCefSharpを追加する。
- プラットフォーム構成を変更して、AnyCPUで使用できるようにする。
- CefSharpを使って、通常のブラウザを表示する。
2.フォーム(Form1.cs)を変更します。
下図の例では、カレントディレクトリに「cache」フォルダと「cookies」フォルダが作成され、それぞれのデータが保存されます。
3.ここまで出来たら、実行してみます。
- クッキーテスターのサイトが表示されます。
- 左下の「Set Test Cookie」をクリックして、クッキーを保存すると、上に保存したクッキーが表示されます。
- 一度、プログラムを終了し、再度実行すると、同じ画面となり、クッキーが保存され復元されたことがわかります。
カレントディレクトリには、「cache」フォルダと「cookies」フォルダが作成されています。
「cache」フォルダの中は、こんな感じ
「cookies」フォルダの中は、こんな感じ
【フォーム(Form1.cs)】
using System;
using System.IO;
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
namespace WindowsFormsApp19
{
public partial class Form1 : Form
{
public ChromiumWebBrowser chromeBrowser;
public Form1()
{
InitializeComponent();
// Start the browser after initialize global component
InitializeChromium();
}
private void Form1_Load(object sender, EventArgs e)
{
chromeBrowser.ShowDevTools();
}
public void InitializeChromium()
{
//cacheフォルダを作成する
Directory.CreateDirectory("cache");
// Initialize cef with the provided settings
CefSettings settings = new CefSettings();
settings.Locale = "ja";
settings.AcceptLanguageList = "ja-JP";
settings.CachePath = "cache";
settings.PersistSessionCookies = true;
Cef.Initialize(settings);
//The Global CookieManager has been initialized, you can now set cookies
var cookieManager = Cef.GetGlobalCookieManager();
cookieManager.SetStoragePath("cookies", true);
// Create a browser component
chromeBrowser = new ChromiumWebBrowser("http://www.html-kit.com/tools/cookietester/");
// Add it to the form and fill it to the form window.
this.Controls.Add(chromeBrowser);
chromeBrowser.Dock = DockStyle.Fill;
// Allow the use of local resources in the browser
BrowserSettings browserSettings = new BrowserSettings();
browserSettings.FileAccessFromFileUrls = CefState.Enabled;
browserSettings.UniversalAccessFromFileUrls = CefState.Enabled;
chromeBrowser.BrowserSettings = browserSettings;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Cef.Shutdown();
}
}
}






