winform嵌入chrome浏览器,修改项目属性 生成 平台为x86

1.nuget安装cefsharp

2.实例化浏览器

private void Form1_Load(object sender, EventArgs e)
{

CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("--disable-web-security","1");//关闭同源策略,允许跨域
settings.CefCommandLineArgs.Add("ppapi-flash-version", "18.0.0.209");//PepperFlash\manifest.json中的version
settings.CefCommandLineArgs.Add("ppapi-flash-path", "PepperFlash\\pepflashplayer.dll");
settings.CefCommandLineArgs.Add("--enable-system-flash", "1");//使用系统flash
Cef.Initialize(settings);

/*以上设置未测试是否可行*/

ChromiumWebBrowser b = new ChromiumWebBrowser("http://localhost:57531/views/Map/scene.html");
this.Controls.Add(b);
b.Dock = DockStyle.Fill;
b.KeyboardHandler = new CEFKeyBoardHander();
}

3.响应F12打开控制台console

public class CEFKeyBoardHander : IKeyboardHandler
{//https://bbs.csdn.net/topics/392375553
public bool OnKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey)
{
if (type == KeyType.KeyUp && Enum.IsDefined(typeof(Keys), windowsKeyCode))
{
var key = (Keys)windowsKeyCode;
switch (key)
{
case Keys.F12:
browser.ShowDevTools();
break;

case Keys.F5:

if (modifiers == CefEventFlags.ControlDown)
{
//MessageBox.Show("ctrl+f5");
browser.Reload(true); //强制忽略缓存

}
else
{
//MessageBox.Show("f5");
browser.Reload();
}
break;


}
}
return false;
}

public bool OnPreKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey, ref bool isKeyboardShortcut)
{
return false;
}
}

From: https://www.cnblogs.com/xuejianxiyang/p/9981398.html

最新文章

  1. 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
  2. 关于oracle中to_char和to_date的用法
  3. logstash配合filebeat监控tomcat日志
  4. Java数据库缓存思路
  5. 小试牛刀——爬topit.me的图片,附github简易上传教程
  6. WPF中图形表示语法详解(Path之Data属性语法)
  7. AutoFac使用方法总结
  8. Swing学习篇 API之JButton组件
  9. selenium获取动态网页信息(某东)-具体配置信息
  10. elk 中kafka启动脚本和配置文件
  11. Spark:实现行转列
  12. if判断、while循环、for循环
  13. Solr——Windows下部署Solr6.6.0至Tomcat8.5.28(二)
  14. Android Studio 之 导入Eclipse项目常见问题及解决方案
  15. sshd服务分析
  16. David Silver 强化学习原理 (中文版 链接)
  17. Solr添加SolrDocument报错
  18. [翻译] SvpplyTable
  19. 第七章移动互联网与移动IP
  20. 在 GitHub 公开仓库中隐藏自己的私人邮箱地址

热门文章

  1. ES6新增变量
  2. iOS完全自学手册——[二]Hello World工程
  3. (转)DB2 HADR 监控详解
  4. Java 并发编程——volatile与synchronized
  5. 转载 linux umount 时出现device is busy 的处理方法--fuser
  6. 解析ASP.NET WebForm和Mvc开发的区别 分类: ASP.NET 2013-12-29 01:59 11738人阅读 评论(5) 收藏
  7. 在CentOS上装Redis
  8. 使用SMTP发送邮件
  9. 【树】Binary Tree Zigzag Level Order Traversal
  10. Linux 文件IO管理 - POSIX