1.安装CefSharp

2.GetMac()获取用户mac地址方法

3.根据错误提示新建CEFKeyBoardHander.cs

form1.cs

using CefSharp;
using CefSharp.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Management;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace WindowsFormsApp
{
public partial class Form1 : Form
{
private ChromiumWebBrowser browser; private string mac { get; set; } public Form1()
{
GetMac();
InitializeComponent();
InitBrowser();
} public void GetMac() {
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection nics = mc.GetInstances();
foreach (ManagementObject nic in nics)
{
if (Convert.ToBoolean(nic["ipEnabled"]) == true)
{
mac = nic["MacAddress"].ToString();//Mac地址
//string ip = (nic["IPAddress"] as String[])[0];//IP地址
//string ipsubnet = (nic["IPSubnet"] as String[])[0];//子网掩码
//string ipgateway = (nic["DefaultIPGateway"] as String[])[0];//默认网关
}
}
} public void InitBrowser()
{
//设置语言环境 以上这段代码一定要在new ChromiumWebBrowser之前调用
var setting = new CefSettings(); setting.CefCommandLineArgs.Add("--disable-web-security", "1");//关闭同源策略,允许跨域 setting.Locale = "zh-CN";
//缓存路径
setting.CachePath = System.AppDomain.CurrentDomain.BaseDirectory + "BrowserCache";
//浏览器引擎的语言
setting.AcceptLanguageList = "zh-CN,zh;q=0.8";
setting.LocalesDirPath = System.AppDomain.CurrentDomain.BaseDirectory + "LocaleDir";
//日志文件
setting.LogFile = System.AppDomain.CurrentDomain.BaseDirectory + "LogData"; setting.CefCommandLineArgs.Add("mute-audio", "true"); setting.PersistSessionCookies = true; setting.UserDataPath = System.AppDomain.CurrentDomain.BaseDirectory + "UserData";
Cef.Initialize(setting); // string url = AppDomain.CurrentDomain.BaseDirectory + @"../../html/index.html";
// url = url.Replace("\\", "/").Replace(" ", "%20"); mac = mac.Replace(":", "-"); string url = @"http://111.111.111.111:9000/111.php/index/login/mac/"+mac; // Cef.Initialize(new CefSettings());
browser = new ChromiumWebBrowser(url);
Font font = new Font("微软雅黑", 10.5f); browser.Font = font;
browser.Dock = DockStyle.Fill; browser.KeyboardHandler = new CEFKeyBoardHander(); browser.LoadingStateChanged += new EventHandler<LoadingStateChangedEventArgs>(LoadingStateChangeds);
// 加载完成后 , 执行操作
browser.FrameLoadEnd += new EventHandler<FrameLoadEndEventArgs>(FrameEndFunc); // 加载完成后 , 执行操作
browser.FrameLoadStart += new EventHandler<FrameLoadStartEventArgs>(FrameLoadStart); this.Controls.Add(browser);
} private void LoadingStateChangeds(object sender, LoadingStateChangedEventArgs e)
{
// throw new NotImplementedException();
} private void FrameLoadStart(object sender, FrameLoadStartEventArgs e)
{
//throw new NotImplementedException();
} private void FrameEndFunc(object sender, FrameLoadEndEventArgs e)
{
// throw new NotImplementedException();
} }
}

CEFKeyBoardHander.cs

using CefSharp;

namespace WindowsFormsApp
{
internal class CEFKeyBoardHander : IKeyboardHandler
{
public bool OnKeyEvent(IWebBrowser chromiumWebBrowser, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey)
{
//throw new System.NotImplementedException();
return false;
} public bool OnPreKeyEvent(IWebBrowser chromiumWebBrowser, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey, ref bool isKeyboardShortcut)
{
return false;
}
}
}

---------------------------

WinForm嵌入Web网站的更多相关文章

  1. WinForm嵌入Web网页的解决方案

    企业级信息化系统绝大部分采用BS架构实现,如门户网站.OA系统.电商网站等,通过浏览器输入Web网址即可访问,对于使用者来说非常便捷,对于开发维护者来说也非常方便,程序维护只需更新服务器即可,使用者无 ...

  2. VS2010新建Web网站与新建Web应用程序的区别

    在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项其中,Web网站的创建方法:打开Visua ...

  3. VS2010新建Web网站与新建Web应用程序的区别 (转)

    在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项其中,Web网站的创建方法:打开Visua ...

  4. Web应用程序与Web网站及部署在IIS中

    在Visual Studio可以创建 Web 应用程序项目或网站项目.通过选择 新建项目 或 打开项目 创建或打开一个 Web 应用程序项目在Visual Studio 文件 菜单. 通过选择 新建网 ...

  5. C#Web网站的创建

    一.CS与BS的区别 CS软件:需要在客户端安装软件. BS软件:只需要浏览器就能运行,Web网站就是BS软件. 创建过程: 1.文件新建---新建网站----空白网站 2.右击网站项目---添加网页 ...

  6. Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转

    前言:最近这两天工作上,要实现一个功能,在好友阿聪的帮助下,算是比较好的解决了这个需求. B/S的Web网站,需要实现点击按钮时,根据客户端连接的显示屏(监视器)数量进行,单双屏跳转显示新页面. 由于 ...

  7. qt添加cef库嵌入web [转]

    qt cef嵌入web 原文http://blog.sina.com.cn/s/blog_9e59cf590102vnfc.html 最近项目需要,研究了下libcef库. Cef(Chromium ...

  8. Web网站的几个并发量级

    评价一个网站的“大小”,处于视角的不同,有很多种衡量的方法,类似文章数,页面数之类的数据非常明显,也没有什么可以争议的.但对于并发来说,争议非常之多,这里就从一个技术的角度开始,谈谈几个Web网站的数 ...

  9. 在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常

    毕竟人不是神,谁写的程序都会有bug,有了bug不可怕,可怕的是出错了,你却不知道错误在哪里.所以我们需要将应用程序中抛出的所有异常都记录起来,不然出了错,找问题就能要了你的命.下面我们主要讨论的是如 ...

  10. zabbix 监控web网站性能

    一直在纠结用什么实例来给大家演示呢?想来想去还是官方的好,那我们怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站.登陆.登陆验证.退出,一共4个小step,看实例. 检测流程 ...

随机推荐

  1. ubuntu18.04开机后NVIDIA显卡驱动加载失败

    1.开机按esc进入ubuntu高级选项,选择内核版本,之后回车 注意:记住此版本号 2.接下来按照如下操作 # If you change this file, run 'update-grub' ...

  2. 测开-面试题-OS、Linux、算法、其他

    1 OS 1.1 进程.线程.协程区别? 答: 1.进程是资源分配的单位:2.线程是CPU调度的单位:3.协程是一种比线程更加轻量级的存在,协程不是被操作系统内核所管理,而完全是由程序所控制(也就是在 ...

  3. 15.网关Gateway

    创建网关的Module 使用注册中心和配置中心 详细可以参考另两篇篇博客-注册中心和配置中心 报错 编译报了这个错,原因是我们没有给网关配置数据库连接字符串,但是引用了common,common中有m ...

  4. MySQL 修改字段子表中的顺序

    修改字段排列位置 ALTER TABLE 表名 MODIFY 字段名1 数据类型 FIRST|AFTER 字段名2 参数说明 FIRST,可选参数 将字段1,修改为表的第一个字段. AFTER 字段名 ...

  5. sd 买送服务,自动带出销售订单行项目

    需要先配置自动带出一行行项目,然后增强代码里去修改带出来的数量,注意事务码的判断,不然影响程序效率 FV45PF0N_NATRAB_SELECTION IF SY-TCODE = 'VA03'. EL ...

  6. combox下拉框控件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. 拼多多anti-content核心算法完全解密+修复

    今天偶然看到拼多多的ant-content好奇就搞了下. 解密方法和代码 代码是用ast来解密的.利用babel处理,解密一部分+手动修复代码. AST相关的教程和文档 https://steaken ...

  8. Java面向对象之接口的定义与实现

    接口 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有! 接口:只有规范!自己无法写方法.专业的约束!约束和实现分离:面向接口编程 接口就是规范,定义的是一组规则,体现了现实世界中&quo ...

  9. CSS滚动条样式修改::-webkit-scrollbar

    修改滚动条样式通过伪元素::-webkit-scrollbar:::-webkit-scrollbar - CSS(层叠样式表) | MDN (mozilla.org) :-webkit-scroll ...

  10. wampServer本地php环境配置笔记

    红色的为关键步骤,其余可以不看. 一:安装时 , 报 : 1.应用程序无法正常启动0xc0000007b 清单机确定关闭应用程序 : 2. 缺少XXX.dll文件 解决方法都是: C:\Windows ...