Browser.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using System;
  2. using System.Diagnostics;
  3. using System.Runtime.InteropServices;
  4. using System.Windows.Forms;
  5. using UAS_Web.tool;
  6. using CefSharp;
  7. using CefSharp.WinForms;
  8. namespace UAS_Web
  9. {
  10. public partial class Browser : Form
  11. {
  12. [DllImport("User32.dll")]
  13. public static extern IntPtr GetForegroundWindow(); //获取活动窗口句柄
  14. [DllImport("User32.dll", CharSet = CharSet.Auto)]
  15. public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); //获取线程ID
  16. private ChromiumWebBrowser webBrowser;
  17. public Browser()
  18. {
  19. InitializeComponent();
  20. Text = "思拓微-供应商条码打印";
  21. string path = "http://192.168.253.6/uas_dev/jsps/vendbarcode/login.jsp";
  22. webBrowser = new ChromiumWebBrowser(path)
  23. {
  24. Dock = DockStyle.Fill
  25. };
  26. webBrowser.RegisterJsObject("", new BoundObject(), true);
  27. webBrowser.MenuHandler = new MenuHandler();
  28. webBrowser.RequestHandler = new RequestHandler();
  29. Controls.Add(webBrowser);
  30. webBrowser.LoadError += WebBrowser_LoadError;
  31. }
  32. private void WebBrowser_LoadError(object sender, LoadErrorEventArgs e)
  33. {
  34. MessageBox.Show("当前网络无法访问" + e.ErrorText);
  35. }
  36. private void Browser_FormClosing(object sender, FormClosingEventArgs e)
  37. {
  38. webBrowser.GetBrowser().CloseBrowser(true);
  39. Cef.Shutdown();
  40. }
  41. private void Browser_Load(object sender, EventArgs e)
  42. {
  43. Process[] pro = Process.GetProcessesByName("UAS_Web");
  44. for (int i = 0; i < pro.Length; i++)
  45. {
  46. if (pro[i].Id != Process.GetCurrentProcess().Id)
  47. {
  48. pro[i].Kill();
  49. }
  50. }
  51. }
  52. }
  53. }