1 Star 0 Fork 0

github__fork/CefSharp

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Program.cs 3.90 KB
一键复制 编辑 原始数据 按行查看 历史
// Copyright © 2010 The CefSharp Authors. All rights reserved.
//
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
using System;
using System.Threading.Tasks;
using System.Windows.Forms;
using CefSharp.Example;
using CefSharp.Example.Handlers;
using CefSharp.WinForms.Example.Handlers;
using CefSharp.WinForms.Example.Minimal;
namespace CefSharp.WinForms.Example
{
public class Program
{
[STAThread]
public static int Main(string[] args)
{
const bool selfHostSubProcess = false;
Cef.EnableHighDPISupport();
//NOTE: Using a simple sub processes uses your existing application executable to spawn instances of the sub process.
//Features like JSB, EvaluateScriptAsync, custom schemes require the CefSharp.BrowserSubprocess to function
if (selfHostSubProcess)
{
var exitCode = CefSharp.BrowserSubprocess.SelfHost.Main(args);
if (exitCode >= 0)
{
return exitCode;
}
#if DEBUG
if (!System.Diagnostics.Debugger.IsAttached)
{
MessageBox.Show("When running this Example outside of Visual Studio " +
"please make sure you compile in `Release` mode.", "Warning");
}
#endif
var settings = new CefSettings();
settings.BrowserSubprocessPath = System.IO.Path.GetFullPath("CefSharp.WinForms.Example.exe");
Cef.Initialize(settings);
var browser = new SimpleBrowserForm();
Application.Run(browser);
}
else
{
#if DEBUG
if (!System.Diagnostics.Debugger.IsAttached)
{
MessageBox.Show("When running this Example outside of Visual Studio " +
"please make sure you compile in `Release` mode.", "Warning");
}
#endif
//When multiThreadedMessageLoop = true then externalMessagePump must be set to false
// To enable externalMessagePump set multiThreadedMessageLoop = false and externalMessagePump = true
const bool multiThreadedMessageLoop = true;
const bool externalMessagePump = false;
var browser = new BrowserForm(multiThreadedMessageLoop);
//var browser = new SimpleBrowserForm(multiThreadedMessageLoop);
//var browser = new TabulationDemoForm();
IBrowserProcessHandler browserProcessHandler;
if (multiThreadedMessageLoop)
{
browserProcessHandler = new BrowserProcessHandler();
}
else
{
if (externalMessagePump)
{
//Get the current taskScheduler (must be called after the form is created)
var scheduler = TaskScheduler.FromCurrentSynchronizationContext();
browserProcessHandler = new ScheduleMessagePumpBrowserProcessHandler(scheduler);
}
else
{
//We'll add out WinForms timer to the components container so it's Diposed
browserProcessHandler = new WinFormsBrowserProcessHandler(browser.Components);
}
}
var settings = new CefSettings();
settings.MultiThreadedMessageLoop = multiThreadedMessageLoop;
settings.ExternalMessagePump = externalMessagePump;
CefExample.Init(settings, browserProcessHandler: browserProcessHandler);
//Application.Run(new MultiFormAppContext());
Application.Run(browser);
}
return 0;
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C#
1
https://gitee.com/github__fork/CefSharp.git
git@gitee.com:github__fork/CefSharp.git
github__fork
CefSharp
CefSharp
master

搜索帮助