using Lskj.Business; using Lskj.Control; using Lskj.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Xilium.CefGlue; namespace Lskj.Control.BrowserSetting { public class BsKeyboardHandler : CefKeyboardHandler { protected override bool OnKeyEvent(CefBrowser browser, CefKeyEvent keyEvent, IntPtr osEvent) { switch (keyEvent.WindowsKeyCode) { case 123://功能键 F12 的KeyCode if (keyEvent.EventType.Equals(CefKeyEventType.RawKeyDown)) { if (ERPInfo.Instance.UserName.Equals("管理员")) { //创建 CefWindowInfo 对象 var wi = CefWindowInfo.Create(); //开发者工具以独立窗口弹出 窗口名 DevTools wi.SetAsPopup(IntPtr.Zero, "DevTools"); //弹出开发者工具 browser.GetHost().ShowDevTools(wi, new BsClient(), new CefBrowserSettings(), new CefPoint(0, 0)); } } break; case 116://功能键 F5 的KeyCode if (keyEvent.EventType.Equals(CefKeyEventType.RawKeyDown)) { //刷新 browser.Reload(); } break; case 27: if (keyEvent.EventType.Equals(CefKeyEventType.RawKeyDown)) { browser.GetMainFrame().ExecuteJavaScript("{document.webkitExitFullscreen()}", browser.GetMainFrame().Url, 0); } break; case 113://功能键 F2 的KeyCode if (keyEvent.EventType.Equals(CefKeyEventType.RawKeyDown)) { try { if ((SystemInfo.Instance.HiddenUrl && ERPInfo.Instance.UserName.Equals("管理员")) || !SystemInfo.Instance.HiddenUrl) { //弹出当前网址 string NUrl = browser.GetMainFrame().Url + ""; if (string.IsNullOrWhiteSpace(NUrl)) { MessageBox.Show("地址还未加载"); } else { MessageBox.Show(string.Format("Url:{0}已复制到粘贴板", NUrl)); System.Windows.Forms.Clipboard.SetText(NUrl); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } break; case 38://↑ if (keyEvent.EventT