A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【转载】        https://blog.csdn.net/zpyxman/article/details/78604783
从Program.cs开始1、以SimpleBrowser运行系统const bool simpleSubProcess = false;
  • 1
  • 2

这行代码标识系统是以什么模式启动。是以简单窗口SimpleBrowserForm启动还是以复杂窗口BrowserForm启动。

settings.BrowserSubprocessPath = "CefSharp.WinForms.Example.exe";
  • 1
  • 2

这行代码需要注释掉,因为Nuget已经加载了CefSharp.BrowserSubprocess.exe并且放置在工程的bin\x86\Debug,注释掉就是使用CefSettings的默认值CefSharp.BrowserSubprocess.exe,这样才能正常的加载谷歌浏览器的核心,否则winform界面展示出来,但是输入url后浏览器显示空白。

简单窗口效果图如下:


效果很简洁,这样简单模式就启动成功,可以当成一个浏览器使用了。

2、以复杂窗口模式运行项目

以复杂窗口模式运行项目。

const bool simpleSubProcess = true
  • 1
  • 2

设置浏览器初始化参数browserProcessHandler

browserProcessHandler = new BrowserProcessHandler();
  • 1
  • 2

BrowserProcessHandler实现了IBrowserProcessHandler,该接口里面有两个方法,OnContextInitialized和OnScheduleMessagePumpWork。

OnContextInitialized方法是用来实时通过Cef.GetGlobalRequestContext()访问Global RequestContext。可以在方法里面访问cookie等等GlobalRequestContext中内容。

OnScheduleMessagePumpWork()方法是用来处理main(UI)线程安排其它线程做某事的回调事件 。

官方示例中只是列举了具体用法,并没有实际的业务逻辑在里面。
下面我们来看看启动效果:

注意就只是增加了上部菜单,菜单中的各项具体业务体现在最重要的CefSettings里面,包括自定义javascript函数方法等等。具体细节后续章节继续分享。



2 个回复

倒序浏览
回复 使用道具 举报
奈斯,加油加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马