【转载】 https://blog.csdn.net/zpyxman/article/details/78604783
从Program.cs开始1、以SimpleBrowser运行系统const bool simpleSubProcess = false;这行代码标识系统是以什么模式启动。是以简单窗口SimpleBrowserForm启动还是以复杂窗口BrowserForm启动。 settings.BrowserSubprocessPath = "CefSharp.WinForms.Example.exe";这行代码需要注释掉,因为Nuget已经加载了CefSharp.BrowserSubprocess.exe并且放置在工程的bin\x86\Debug,注释掉就是使用CefSettings的默认值CefSharp.BrowserSubprocess.exe,这样才能正常的加载谷歌浏览器的核心,否则winform界面展示出来,但是输入url后浏览器显示空白。 简单窗口效果图如下:
效果很简洁,这样简单模式就启动成功,可以当成一个浏览器使用了。 2、以复杂窗口模式运行项目以复杂窗口模式运行项目。 const bool simpleSubProcess = true设置浏览器初始化参数browserProcessHandler browserProcessHandler = new BrowserProcessHandler();BrowserProcessHandler实现了IBrowserProcessHandler,该接口里面有两个方法,OnContextInitialized和OnScheduleMessagePumpWork。 OnContextInitialized方法是用来实时通过Cef.GetGlobalRequestContext()访问Global RequestContext。可以在方法里面访问cookie等等GlobalRequestContext中内容。 OnScheduleMessagePumpWork()方法是用来处理main(UI)线程安排其它线程做某事的回调事件 。 官方示例中只是列举了具体用法,并没有实际的业务逻辑在里面。
下面我们来看看启动效果:
注意就只是增加了上部菜单,菜单中的各项具体业务体现在最重要的CefSettings里面,包括自定义javascript函数方法等等。具体细节后续章节继续分享。
|