private void browser_IsBrowserInitializedChanged(object sender, IsBrowserInitializedChangedEventArgs e) { if (e.IsBrowserInitialized) { Initialized?.Invoke(this, EventArgs.Empty); int identifier = browser.GetBrowser().Identifier; Disposed += (sender2, args2) => BrowserProcesses.Forget(identifier); } }
protected override void WndProc(ref Message m) { if (isLoaded) { if (m.Msg == Program.WindowRestoreMessage) { if (WindowsUtils.CurrentProcessID == m.WParam.ToInt32()) { trayIcon_ClickRestore(trayIcon, EventArgs.Empty); } return; } else if (m.Msg == Program.SubProcessMessage) { int processId = m.WParam.ToInt32(); if (WindowsUtils.IsChildProcess(processId)) // child process is checked in two places for safety { BrowserProcesses.Link(m.LParam.ToInt32(), processId); } return; } } if (browser.Ready && m.Msg == NativeMethods.WM_PARENTNOTIFY && (m.WParam.ToInt32() & 0xFFFF) == NativeMethods.WM_XBUTTONDOWN) { if (videoPlayer != null && videoPlayer.Running) { videoPlayer.Close(); } else { browser.OnMouseClickExtra(m.WParam); TriggerAnalyticsEvent(AnalyticsFile.Event.BrowserExtraMouseButton); } return; } base.WndProc(ref m); }
public static void AfterFeature() { try { driver.Quit(); driver.Dispose(); Process.GetProcessesByName("chromedriver").ToList().ForEach(p => p.Kill()); driver.Quit(); BrowserProcesses.Kill("chrome"); Process[] chromeInstances = Process.GetProcessesByName("chrome"); CloseBrowsers(driver); } catch (Exception e) { Console.WriteLine(e); CloseBrowsers(driver); } }