{"id":19750,"date":"2019-05-26T12:53:45","date_gmt":"2019-05-26T03:53:45","guid":{"rendered":"https:\/\/agrimo.jp\/wp\/?page_id=19750"},"modified":"2019-05-31T13:42:57","modified_gmt":"2019-05-31T04:42:57","slug":"1-winforms%e3%82%a2%e3%83%97%e3%83%aa%e3%82%92%e4%bd%9c%e6%88%90%e3%81%97%e3%81%a6%e3%80%81nuget%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6cefsharp%e3%82%92-2-2-3","status":"publish","type":"page","link":"https:\/\/agrimo.jp\/wp\/?page_id=19750","title":{"rendered":"5.CefSharp\u3092\u4f7f\u3063\u3066\u3001\u30d8\u30c3\u30c9\u30ec\u30b9\u30d6\u30e9\u30a6\u30b6\u3092\u4f5c\u308b\u3002"},"content":{"rendered":"<p>CefSharp\u306b\u306f\u3001\u30d8\u30c3\u30c9\u30ec\u30b9\u30d6\u30e9\u30a6\u30b6\uff08GUI\u3092\u6301\u305f\u306a\u3044\uff09\u30e2\u30fc\u30c9\uff08CefSharp.OffScreen\uff09\u304c\u3042\u308a\u307e\u3059\u3002\u3069\u3046\u3044\u3046\u5834\u9762\u3067\u4f7f\u7528\u3059\u308b\u306e\u304b\u30a4\u30de\u30a4\u30c1\u308f\u304b\u308a\u307e\u305b\u3093\u304c\u3001\u5f0a\u793e\u88fd\u54c1\u306e<a href=\"https:\/\/agrimo.jp\/wp\/?page_id=2720\" target=\"_blank\" rel=\"noopener noreferrer\">\u65e5\u5831\u30c7\u30fc\u30bf\u81ea\u52d5\u53d6\u5f97\u30b7\u30b9\u30c6\u30e0\uff24\uff34<\/a>\u3084<a href=\"https:\/\/agrimo.jp\/wp\/?page_id=2726\" target=\"_blank\" rel=\"noopener noreferrer\">\u691c\u7d22\u30c7\u30fc\u30bf\u81ea\u52d5\u53d6\u5f97\u30b7\u30b9\u30c6\u30e0\uff24\uff34<\/a>\u306e\u3088\u3046\u306a\u30c7\u30fc\u30bf\u53d6\u5f97\u304c\u4e3b\u306a\u76ee\u7684\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f7f\u7528\u3067\u304d\u308b\u304b\u306a\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u3053\u3053\u3067\u306f\u3001\u30d8\u30c3\u30c9\u30ec\u30b9\u30d6\u30e9\u30a6\u30b6\u306e\u6a5f\u80fd\u3092\u7528\u3044\u3066Web\u3092\u81ea\u52d5\u5de1\u56de\u3057\u3001\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3092\u64ae\u308b\u3068\u3044\u3046\u30c7\u30e2\u3092\u3084\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\uff11\uff0eVisual Studio Community 2019 \u3092\u8d77\u52d5\u3057\u3066 \u300cC#\u306eWindows\u30b3\u30f3\u30bd\u30fc\u30eb\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\uff08.NET Framework\uff09\u300d\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h09_33.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19977\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h09_33-300x160.png\" alt=\"\" width=\"300\" height=\"160\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h09_33-300x160.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h09_33-1024x545.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h09_33-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h09_33-820x436.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h09_33.png 1366w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\uff12\uff0e\u30e1\u30cb\u30e5\u30fc\u300c\u30c4\u30fc\u30eb(T)\u300d\uff0d\u300cNuGet \u30d1\u30c3\u30b1\u30fc\u30b8 \u30de\u30cd\u30fc\u30b8\u30e3\u30fc(N)\u300d\uff0d\u300c\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u306eNuGet\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u7ba1\u7406(N)\u2026\u300d\u3092\u9078\u629e\u3057\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\"><a class=\"fancyboxforwp\" href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-27_07h16_51.png\" data-fancybox=\"gallery\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19786\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-27_07h16_51-300x160.png\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-27_07h16_51-300x160.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-27_07h16_51-1024x546.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-27_07h16_51-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-27_07h16_51-820x438.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-27_07h16_51.png 1366w\" alt=\"\" width=\"300\" height=\"160\" \/><\/a><\/p>\n<p>\uff13\uff0e\u5de6\u4e0a\u306e\u300c\u53c2\u7167\u300d\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u3001\u691c\u7d22\u6b04\u306b\u300ccefsharp.offscreen\u300d\u3068\u5165\u529b\u3057\u3066\u691c\u7d22\u3092\u884c\u3044\u3001\u691c\u7d22\u7d50\u679c\u306e\u4e2d\u304b\u3089\u300cCefSharp.OffScreen\u300d\u3092\u9078\u629e\u3057\u3066\u3001\u73fe\u5728\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h14_15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19979\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h14_15-300x161.png\" alt=\"\" width=\"300\" height=\"161\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h14_15-300x161.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h14_15-1024x548.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h14_15-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h14_15-820x439.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h14_15.png 1366w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\uff14\uff0e\u4e0b\u753b\u9762\u3067\u300cOK\u300d\u3092\u30af\u30ea\u30c3\u30af\u3057\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_00.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19980\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_00-300x159.png\" alt=\"\" width=\"300\" height=\"159\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_00-300x159.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_00-1024x543.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_00-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_00-820x435.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_00.png 1366w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\uff15\uff0e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u7d42\u308f\u308b\u3068\u4f55\u3084\u3089\u8b66\u544a\u304c\u51fa\u307e\u3059\u3002\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306b\u300cx86\u300d\u307e\u305f\u306f\u300cx64\u300d\u3092\u9078\u629e\u3059\u308b\u3088\u3046\u306b\u3068\u66f8\u3044\u3066\u3042\u308a\u307e\u3059\u3002\u300cAnyCPU\u300d\u306b\u5909\u66f4\u3057\u305f\u3051\u308c\u3070\u3001<a href=\"https:\/\/github.com\/cefsharp\/CefSharp\/issues\/1714\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/cefsharp\/CefSharp\/issues\/1714<\/a> \u3092\u53c2\u7167\u3059\u308b\u3088\u3046\u306b\u3068\u6307\u793a\u304c\u3042\u308a\u307e\u3059\u3002\uff08\u203b\u3053\u308c\u306b\u3064\u3044\u3066\u306f\u3001<a href=\"https:\/\/agrimo.jp\/wp\/?page_id=19743\" target=\"_blank\" rel=\"noopener noreferrer\">\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u69cb\u6210\u3092\u5909\u66f4\u3057\u3066\u3001AnyCPU\u3067\u4f7f\u7528\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3002<\/a>\u3067\u89e3\u8aac\u3057\u3066\u3044\u307e\u3059\u3002\uff09<\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_31.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19981\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_31-300x160.png\" alt=\"\" width=\"300\" height=\"160\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_31-300x160.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_31-1024x547.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_31-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_31-820x438.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h15_31.png 1366w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\uff16\uff0e\u30bd\u30fc\u30b9\uff08program.cs\uff09\u3092\u5909\u66f4\u3057\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\">using CefSharp.OffScreen;\u3000\u3000\u2190\u304c\u4eca\u307e\u3067\u3068\u9055\u3044\u307e\u3059\u3002\uff08\u30d8\u30c3\u30c9\u30ec\u30b9\u30d6\u30e9\u30a6\u30b6\u30e2\u30fc\u30c9\u306e\u6307\u5b9a\uff09<\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h33_09.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19990\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h33_09-300x159.png\" alt=\"\" width=\"300\" height=\"159\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h33_09-300x159.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h33_09-1024x544.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h33_09-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h33_09-820x436.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h33_09.png 1366w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"padding-left: 40px;\">await browser.ScreenshotAsync(true).ContinueWith(DisplayBitmap);\u3000\u3000\u2190\u3067\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3092\u64ae\u308a\u307e\u3059\u3002<br \/>\n\u300cbrowser.ScreenshotAsync\u300d\u306f\u3001CefSharp.OffScreen\u306b\u542b\u307e\u308c\u308b\u6a5f\u80fd\u3067\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\">\u30bf\u30a4\u30df\u30f3\u30b0\u306b\u3088\u3063\u3066\u306f\u4e0a\u624b\u304f\u64ae\u5f71\u3067\u304d\u306a\u3044\u306e\u3067\u3001await Task.Delay(1000);\u3000\u3092\u4e8b\u524d\u884c\u306b\u633f\u5165\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h35_32.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19992\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h35_32-300x160.png\" alt=\"\" width=\"300\" height=\"160\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h35_32-300x160.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h35_32-1024x545.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h35_32-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h35_32-820x436.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h35_32.png 1366w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\uff17\uff0e\u3053\u3053\u307e\u3067\u51fa\u6765\u305f\u3089\u3001\u5b9f\u884c\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h41_09.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19996\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h41_09-300x157.png\" alt=\"\" width=\"300\" height=\"157\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h41_09-300x157.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h41_09-50x26.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h41_09-820x429.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_08h41_09.png 979w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"padding-left: 40px;\">\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8\u3057\u305f\u753b\u50cf\u306f .png \u5f62\u5f0f\u3067\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\u3002\uff08\u30bf\u30a4\u30df\u30f3\u30b0\u306b\u3088\u3063\u3066\u30ec\u30f3\u30c0\u30ea\u30f3\u30b0\u4e2d\u306e\u753b\u9762\u306b\u306a\u3063\u305f\u308a\u3001\u76ee\u7684\u306e\u30da\u30fc\u30b8\u3067\u306a\u304b\u3063\u305f\u308a\u3059\u308b\u3088\u3046\u3067\u3059\u3002\u975e\u540c\u671f\u51e6\u7406\u3060\u304b\u3089\u304b\u3082\u3002\u3002\uff09<\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_47.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19997\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_47-300x159.png\" alt=\"\" width=\"300\" height=\"159\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_47-300x159.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_47-1024x544.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_47-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_47-820x436.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_47.png 1366w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"padding-left: 40px;\"><a href=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_55.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-19998\" src=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_55-300x160.png\" alt=\"\" width=\"300\" height=\"160\" srcset=\"https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_55-300x160.png 300w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_55-1024x545.png 1024w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_55-50x27.png 50w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_55-820x436.png 820w, https:\/\/agrimo.jp\/wp\/wp-content\/uploads\/2019\/05\/2019-05-31_06h38_55.png 1366w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u3010\u30bd\u30fc\u30b9\uff08program.cs\uff09\u3011<\/p>\n<pre class=\"lang:c# decode:true \" title=\"program.cs\">using System;\r\nusing System.Diagnostics;\r\nusing System.Drawing;\r\nusing System.IO;\r\nusing System.Threading.Tasks;\r\nusing CefSharp;\r\nusing CefSharp.OffScreen;\r\n\r\nnamespace ConsoleApp16\r\n{\r\n    class Program\r\n    {\r\n        private const string TestUrl = \"https:\/\/www.google.com\/\";\r\n\r\n        static void Main(string[] args)\r\n        {\r\n            Console.WriteLine(\"This example application will load {0}, take a screenshot, and save it to your desktop.\", TestUrl);\r\n            Console.WriteLine(\"You may see a lot of Chromium debugging output, please wait...\");\r\n            Console.WriteLine();\r\n\r\n            \/\/ Initialize cef with the provided settings\r\n            CefSettings settings = new CefSettings();\r\n            settings.Locale = \"ja\";\r\n            settings.AcceptLanguageList = \"ja-JP\";\r\n            Cef.Initialize(settings, performDependencyCheck: false, browserProcessHandler: null);\r\n\r\n            MainAsync(\"cachePath1\", 1.0);\r\n\r\n            \/\/ We have to wait for something, otherwise the process will exit too soon.\r\n            Console.ReadKey();\r\n\r\n            \/\/ Clean up Chromium objects.  You need to call this in your application otherwise\r\n            \/\/ you will get a crash when closing.\r\n            Cef.Shutdown();\r\n        }\r\n\r\n        private static async void MainAsync(string cachePath, double zoomLevel)\r\n        {\r\n            var browserSettings = new BrowserSettings();\r\n            \/\/Reduce rendering speed to one frame per second so it's easier to take screen shots\r\n            browserSettings.WindowlessFrameRate = 1;\r\n            var requestContextSettings = new RequestContextSettings { CachePath = cachePath };\r\n\r\n            \/\/ RequestContext can be shared between browser instances and allows for custom settings\r\n            \/\/ e.g. CachePath\r\n            using (var requestContext = new RequestContext(requestContextSettings))\r\n            using (var browser = new ChromiumWebBrowser(TestUrl, browserSettings, requestContext))\r\n            {\r\n                if (zoomLevel &gt; 1)\r\n                {\r\n                    browser.FrameLoadStart += (s, argsi) =&gt;\r\n                    {\r\n                        var b = (ChromiumWebBrowser)s;\r\n                        if (argsi.Frame.IsMain)\r\n                        {\r\n                            b.SetZoomLevel(zoomLevel);\r\n                        }\r\n                    };\r\n                }\r\n                await LoadPageAsync(browser);\r\n\r\n                \/\/Check preferences on the CEF UI Thread\r\n                await Cef.UIThreadTaskFactory.StartNew(delegate\r\n                {\r\n                    var preferences = requestContext.GetAllPreferences(true);\r\n\r\n                    \/\/Check do not track status\r\n                    var doNotTrack = (bool)preferences[\"enable_do_not_track\"];\r\n\r\n                    Debug.WriteLine(\"DoNotTrack: \" + doNotTrack);\r\n                });\r\n\r\n                var onUi = Cef.CurrentlyOnThread(CefThreadIds.TID_UI);\r\n\r\n                \/\/Give the browser a little time to finish drawing our SendKeyEvent input\r\n                await Task.Delay(1000);\r\n\r\n                \/\/ Wait for the screenshot to be taken,\r\n                \/\/ if one exists ignore it, wait for a new one to make sure we have the most up to date\r\n                await browser.ScreenshotAsync(true).ContinueWith(DisplayBitmap);\r\n\r\n                await LoadPageAsync(browser, \"http:\/\/github.com\");\r\n\r\n                \/\/Gets a wrapper around the underlying CefBrowser instance\r\n                var cefBrowser = browser.GetBrowser();\r\n                \/\/ Gets a warpper around the CefBrowserHost instance\r\n                \/\/ You can perform a lot of low level browser operations using this interface\r\n                var cefHost = cefBrowser.GetHost();\r\n\r\n                \/\/You can call Invalidate to redraw\/refresh the image\r\n                cefHost.Invalidate(PaintElementType.View);\r\n\r\n                await Task.Delay(1000);\r\n\r\n                \/\/ Wait for the screenshot to be taken.\r\n                await browser.ScreenshotAsync(true).ContinueWith(DisplayBitmap);\r\n            }\r\n        }\r\n\r\n        public static Task LoadPageAsync(IWebBrowser browser, string address = null)\r\n        {\r\n            var tcs = new TaskCompletionSource&lt;bool&gt;(TaskCreationOptions.RunContinuationsAsynchronously);\r\n\r\n            EventHandler&lt;LoadingStateChangedEventArgs&gt; handler = null;\r\n            handler = (sender, args) =&gt;\r\n            {\r\n                \/\/Wait for while page to finish loading not just the first frame\r\n                if (!args.IsLoading)\r\n                {\r\n                    browser.LoadingStateChanged -= handler;\r\n                    \/\/Important that the continuation runs async using TaskCreationOptions.RunContinuationsAsynchronously\r\n                    tcs.TrySetResult(true);\r\n                }\r\n            };\r\n\r\n            browser.LoadingStateChanged += handler;\r\n\r\n            if (!string.IsNullOrEmpty(address))\r\n            {\r\n                browser.Load(address);\r\n            }\r\n            return tcs.Task;\r\n        }\r\n\r\n        private static void DisplayBitmap(Task&lt;Bitmap&gt; task)\r\n        {\r\n            \/\/ Make a file to save it to (e.g. C:\\Users\\jan\\Desktop\\CefSharp screenshot.png)\r\n            var screenshotPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), \"CefSharp screenshot\" + DateTime.Now.Ticks + \".png\");\r\n\r\n            Console.WriteLine();\r\n            Console.WriteLine(\"Screenshot ready. Saving to {0}\", screenshotPath);\r\n\r\n            var bitmap = task.Result;\r\n\r\n            \/\/ Save the Bitmap to the path.\r\n            \/\/ The image type is auto-detected via the \".png\" extension.\r\n            bitmap.Save(screenshotPath);\r\n\r\n            \/\/ We no longer need the Bitmap.\r\n            \/\/ Dispose it to avoid keeping the memory alive.  Especially important in 32-bit applications.\r\n            bitmap.Dispose();\r\n\r\n            Console.WriteLine(\"Screenshot saved.  Launching your default image viewer...\");\r\n\r\n            \/\/ Tell Windows to launch the saved image.\r\n            Process.Start(screenshotPath);\r\n\r\n            Console.WriteLine(\"Image viewer launched.  Press any key to exit.\");\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CefSharp\u306b\u306f\u3001\u30d8\u30c3\u30c9\u30ec\u30b9\u30d6\u30e9\u30a6\u30b6\uff08GUI\u3092\u6301\u305f\u306a\u3044\uff09\u30e2\u30fc\u30c9\uff08CefSharp.OffScreen\uff09\u304c\u3042 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-19750","page","type-page","status-publish","hentry"],"wppr_data":{"cwp_meta_box_check":"No"},"_links":{"self":[{"href":"https:\/\/agrimo.jp\/wp\/index.php?rest_route=\/wp\/v2\/pages\/19750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agrimo.jp\/wp\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/agrimo.jp\/wp\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/agrimo.jp\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agrimo.jp\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=19750"}],"version-history":[{"count":24,"href":"https:\/\/agrimo.jp\/wp\/index.php?rest_route=\/wp\/v2\/pages\/19750\/revisions"}],"predecessor-version":[{"id":20002,"href":"https:\/\/agrimo.jp\/wp\/index.php?rest_route=\/wp\/v2\/pages\/19750\/revisions\/20002"}],"wp:attachment":[{"href":"https:\/\/agrimo.jp\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=19750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}